@acorex/components 6.1.11 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/alert/src/alert.component.d.ts +2 -2
  2. package/badge/src/badge.component.d.ts +3 -3
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +9 -7
  4. package/button/src/button-group.component.d.ts +6 -6
  5. package/button/src/button-item.component.d.ts +6 -6
  6. package/button/src/button.component.d.ts +1 -1
  7. package/calendar/src/calendar.component.d.ts +0 -1
  8. package/chips/index.d.ts +5 -0
  9. package/chips/public-api.d.ts +2 -0
  10. package/chips/src/chips.component.d.ts +13 -0
  11. package/chips/src/chips.module.d.ts +8 -0
  12. package/collapse/src/collapse.component.d.ts +1 -1
  13. package/color-palette/src/color-palette-input.component.d.ts +2 -2
  14. package/color-picker/src/color-picker.component.d.ts +24 -22
  15. package/common/src/styles.class.d.ts +2 -2
  16. package/date-picker/src/datepicker.component.d.ts +15 -16
  17. package/esm2020/action-sheet/src/action-sheet-item.component.mjs +5 -5
  18. package/esm2020/action-sheet/src/action-sheet.component.mjs +8 -8
  19. package/esm2020/action-sheet/src/action-sheet.module.mjs +5 -5
  20. package/esm2020/alert/src/alert-button.directive.mjs +4 -4
  21. package/esm2020/alert/src/alert.component.mjs +9 -12
  22. package/esm2020/alert/src/alert.module.mjs +5 -5
  23. package/esm2020/avatar/src/avatar-group.component.mjs +4 -5
  24. package/esm2020/avatar/src/avatar.component.mjs +5 -5
  25. package/esm2020/avatar/src/avatar.module.mjs +5 -5
  26. package/esm2020/badge/src/badge.component.mjs +7 -9
  27. package/esm2020/badge/src/badge.module.mjs +5 -5
  28. package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +14 -6
  29. package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +6 -6
  30. package/esm2020/breadcrumbs/src/breadcrumbs.module.mjs +5 -5
  31. package/esm2020/button/src/button-group.component.mjs +5 -5
  32. package/esm2020/button/src/button-item.component.mjs +5 -5
  33. package/esm2020/button/src/button.component.mjs +10 -7
  34. package/esm2020/button/src/button.module.mjs +5 -5
  35. package/esm2020/calendar/src/calendar.class.mjs +4 -4
  36. package/esm2020/calendar/src/calendar.component.mjs +6 -8
  37. package/esm2020/calendar/src/calendar.module.mjs +5 -5
  38. package/esm2020/checkbox/src/checkbox.component.mjs +5 -5
  39. package/esm2020/checkbox/src/checkbox.module.mjs +5 -5
  40. package/esm2020/chips/acorex-components-chips.mjs +5 -0
  41. package/esm2020/chips/public-api.mjs +3 -0
  42. package/esm2020/chips/src/chips.component.mjs +32 -0
  43. package/esm2020/chips/src/chips.module.mjs +19 -0
  44. package/esm2020/collapse/src/collapse-group.component.mjs +4 -4
  45. package/esm2020/collapse/src/collapse.component.mjs +5 -5
  46. package/esm2020/collapse/src/collapse.module.mjs +5 -5
  47. package/esm2020/color-palette/src/color-palette-input.component.mjs +10 -12
  48. package/esm2020/color-palette/src/color-palette-picker.component.mjs +4 -4
  49. package/esm2020/color-palette/src/color-palette-preview.component.mjs +4 -4
  50. package/esm2020/color-palette/src/color-palette-swatches.component.mjs +4 -4
  51. package/esm2020/color-palette/src/color-palette.class.mjs +7 -7
  52. package/esm2020/color-palette/src/color-palette.component.mjs +7 -7
  53. package/esm2020/color-palette/src/color-palette.module.mjs +5 -5
  54. package/esm2020/color-picker/src/color-picker.component.mjs +10 -12
  55. package/esm2020/color-picker/src/color-picker.module.mjs +5 -5
  56. package/esm2020/common/src/auto-focus.directive.mjs +4 -4
  57. package/esm2020/common/src/common.module.mjs +5 -5
  58. package/esm2020/common/src/components.class.mjs +19 -19
  59. package/esm2020/common/src/custom-cdk-overlay.service.mjs +7 -7
  60. package/esm2020/common/src/debounce-time.directive.mjs +4 -4
  61. package/esm2020/common/src/hotkey.directive.mjs +4 -4
  62. package/esm2020/common/src/hotkey.service.mjs +4 -4
  63. package/esm2020/common/src/infinite-scroll.directive.mjs +4 -4
  64. package/esm2020/common/src/overlay.service.mjs +4 -4
  65. package/esm2020/common/src/responsive.directive.mjs +4 -4
  66. package/esm2020/common/src/styles.class.mjs +1 -1
  67. package/esm2020/context-menu/src/context-menu.component.mjs +5 -5
  68. package/esm2020/context-menu/src/context-menu.module.mjs +5 -5
  69. package/esm2020/data-pager/src/data-pager-base.component.mjs +7 -7
  70. package/esm2020/data-pager/src/data-pager-info.component.mjs +4 -4
  71. package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +6 -6
  72. package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +12 -12
  73. package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +18 -18
  74. package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +8 -8
  75. package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +12 -12
  76. package/esm2020/data-pager/src/data-pager.component.mjs +5 -6
  77. package/esm2020/data-pager/src/data-pager.module.mjs +5 -5
  78. package/esm2020/data-table/src/data-column-cell-template.directive.mjs +4 -4
  79. package/esm2020/data-table/src/data-column.directive.mjs +4 -4
  80. package/esm2020/data-table/src/data-table.component.mjs +5 -5
  81. package/esm2020/data-table/src/data-table.module.mjs +5 -5
  82. package/esm2020/date-picker/src/datepicker.component.mjs +10 -11
  83. package/esm2020/date-picker/src/datepicker.module.mjs +5 -5
  84. package/esm2020/decorators/src/close-button.component.mjs +6 -6
  85. package/esm2020/decorators/src/content.component.mjs +4 -4
  86. package/esm2020/decorators/src/decorators.module.mjs +5 -5
  87. package/esm2020/decorators/src/footer.component.mjs +4 -4
  88. package/esm2020/decorators/src/header.component.mjs +4 -4
  89. package/esm2020/decorators/src/icon.component.mjs +5 -5
  90. package/esm2020/decorators/src/overlay.component.mjs +4 -4
  91. package/esm2020/decorators/src/placeholder.component.mjs +4 -4
  92. package/esm2020/decorators/src/prefix.component.mjs +4 -4
  93. package/esm2020/decorators/src/sub-title.component.mjs +4 -4
  94. package/esm2020/decorators/src/suffix.component.mjs +4 -4
  95. package/esm2020/decorators/src/text.component.mjs +4 -4
  96. package/esm2020/decorators/src/title.component.mjs +4 -4
  97. package/esm2020/dialog/src/dialog.component.mjs +9 -9
  98. package/esm2020/dialog/src/dialog.module.mjs +5 -5
  99. package/esm2020/dialog/src/dialog.service.mjs +5 -5
  100. package/esm2020/drawer/src/drawer-container.component.mjs +4 -5
  101. package/esm2020/drawer/src/drawer.component.mjs +12 -19
  102. package/esm2020/drawer/src/drawer.module.mjs +5 -5
  103. package/esm2020/dropdown/src/dropdown-panel.component.mjs +4 -4
  104. package/esm2020/dropdown/src/dropdown.module.mjs +5 -5
  105. package/esm2020/form/src/form-field.component.mjs +5 -11
  106. package/esm2020/form/src/form-hint.component.mjs +5 -5
  107. package/esm2020/form/src/form.component.mjs +4 -4
  108. package/esm2020/form/src/form.module.mjs +5 -5
  109. package/esm2020/form/src/validation-rule.widget.mjs +4 -5
  110. package/esm2020/form/src/validation-summary.component.mjs +4 -4
  111. package/esm2020/image/src/image.component.mjs +5 -5
  112. package/esm2020/image/src/image.module.mjs +5 -5
  113. package/esm2020/label/src/label.component.mjs +5 -5
  114. package/esm2020/label/src/label.module.mjs +5 -5
  115. package/esm2020/loading/src/loading-spinner.component.mjs +6 -6
  116. package/esm2020/loading/src/loading.component.mjs +7 -13
  117. package/esm2020/loading/src/loading.directive.mjs +4 -4
  118. package/esm2020/loading/src/loading.module.mjs +5 -5
  119. package/esm2020/loading/src/loading.service.mjs +4 -4
  120. package/esm2020/menu/src/menu.component.mjs +7 -8
  121. package/esm2020/menu/src/menu.module.mjs +5 -5
  122. package/esm2020/mixin/src/base-components.class.mjs +4 -4
  123. package/esm2020/mixin/src/value-mixin.class.mjs +4 -4
  124. package/esm2020/number-box/src/number-box.component.mjs +8 -10
  125. package/esm2020/number-box/src/number-box.module.mjs +5 -5
  126. package/esm2020/page/src/base-page.class.mjs +4 -4
  127. package/esm2020/page/src/page.component.mjs +4 -4
  128. package/esm2020/page/src/page.module.mjs +5 -5
  129. package/esm2020/password-box/src/password-box.component.mjs +8 -10
  130. package/esm2020/password-box/src/password-box.module.mjs +5 -5
  131. package/esm2020/popover/src/popover.component.mjs +4 -4
  132. package/esm2020/popover/src/popover.module.mjs +5 -5
  133. package/esm2020/popup/src/popup.component.mjs +5 -7
  134. package/esm2020/popup/src/popup.module.mjs +5 -5
  135. package/esm2020/popup/src/popup.service.mjs +4 -4
  136. package/esm2020/progress-bar/src/progress-bar.component.mjs +6 -6
  137. package/esm2020/progress-bar/src/progress-bar.module.mjs +5 -5
  138. package/esm2020/radio/src/radio.component.mjs +13 -8
  139. package/esm2020/radio/src/radio.module.mjs +5 -5
  140. package/esm2020/range-slider/src/range-slider.component.mjs +6 -6
  141. package/esm2020/range-slider/src/range-slider.module.mjs +5 -5
  142. package/esm2020/rating/src/rating.component.mjs +5 -5
  143. package/esm2020/rating/src/rating.component.module.mjs +5 -5
  144. package/esm2020/result/src/result.component.mjs +6 -6
  145. package/esm2020/result/src/result.module.mjs +5 -5
  146. package/esm2020/search-box/src/search-box.component.mjs +9 -10
  147. package/esm2020/search-box/src/search-box.module.mjs +5 -5
  148. package/esm2020/select-box/src/selectbox.component.mjs +20 -16
  149. package/esm2020/select-box/src/selectbox.module.mjs +5 -5
  150. package/esm2020/selection-list/src/selection-list.component.mjs +5 -6
  151. package/esm2020/selection-list/src/selection-list.module.mjs +5 -5
  152. package/esm2020/switch/src/switch.component.mjs +5 -5
  153. package/esm2020/switch/src/switch.module.mjs +5 -5
  154. package/esm2020/tabs/src/tab-content.directive.mjs +4 -4
  155. package/esm2020/tabs/src/tab-item.component.mjs +4 -4
  156. package/esm2020/tabs/src/tabs.class.mjs +1 -1
  157. package/esm2020/tabs/src/tabs.component.mjs +8 -14
  158. package/esm2020/tabs/src/tabs.module.mjs +5 -5
  159. package/esm2020/tag/acorex-components-tag.mjs +5 -0
  160. package/esm2020/tag/public-api.mjs +3 -0
  161. package/esm2020/tag/src/tag.component.mjs +29 -0
  162. package/esm2020/tag/src/tag.module.mjs +19 -0
  163. package/esm2020/textarea/src/textarea.component.mjs +5 -5
  164. package/esm2020/textarea/src/textarea.module.mjs +5 -5
  165. package/esm2020/textbox/src/mask-options.directive.mjs +4 -4
  166. package/esm2020/textbox/src/textbox.component.mjs +4 -4
  167. package/esm2020/textbox/src/textbox.module.mjs +5 -5
  168. package/esm2020/time-box/src/time-box.component.mjs +4 -4
  169. package/esm2020/time-box/src/time-box.module.mjs +5 -5
  170. package/esm2020/toast/src/toast.component.mjs +8 -8
  171. package/esm2020/toast/src/toast.module.mjs +5 -5
  172. package/esm2020/toast/src/toast.service.mjs +4 -25
  173. package/esm2020/tooltip/src/tooltip.component.mjs +6 -6
  174. package/esm2020/tooltip/src/tooltip.directive.mjs +5 -5
  175. package/esm2020/tooltip/src/tooltip.module.mjs +5 -5
  176. package/esm2020/tree-view/src/tree-view.component.mjs +5 -5
  177. package/esm2020/tree-view/src/tree-view.module.mjs +5 -5
  178. package/esm2020/uploader/src/uploader.component.mjs +5 -5
  179. package/esm2020/uploader/src/uploader.module.mjs +5 -5
  180. package/fesm2015/acorex-components-action-sheet.mjs +15 -15
  181. package/fesm2015/acorex-components-action-sheet.mjs.map +1 -1
  182. package/fesm2015/acorex-components-alert.mjs +15 -18
  183. package/fesm2015/acorex-components-alert.mjs.map +1 -1
  184. package/fesm2015/acorex-components-avatar.mjs +11 -12
  185. package/fesm2015/acorex-components-avatar.mjs.map +1 -1
  186. package/fesm2015/acorex-components-badge.mjs +10 -12
  187. package/fesm2015/acorex-components-badge.mjs.map +1 -1
  188. package/fesm2015/acorex-components-breadcrumbs.mjs +21 -13
  189. package/fesm2015/acorex-components-breadcrumbs.mjs.map +1 -1
  190. package/fesm2015/acorex-components-button.mjs +21 -18
  191. package/fesm2015/acorex-components-button.mjs.map +1 -1
  192. package/fesm2015/acorex-components-calendar.mjs +12 -14
  193. package/fesm2015/acorex-components-calendar.mjs.map +1 -1
  194. package/fesm2015/acorex-components-checkbox.mjs +8 -8
  195. package/fesm2015/acorex-components-checkbox.mjs.map +1 -1
  196. package/fesm2015/acorex-components-chips.mjs +55 -0
  197. package/fesm2015/acorex-components-chips.mjs.map +1 -0
  198. package/fesm2015/acorex-components-collapse.mjs +11 -11
  199. package/fesm2015/acorex-components-collapse.mjs.map +1 -1
  200. package/fesm2015/acorex-components-color-palette.mjs +34 -36
  201. package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
  202. package/fesm2015/acorex-components-color-picker.mjs +15 -17
  203. package/fesm2015/acorex-components-color-picker.mjs.map +1 -1
  204. package/fesm2015/acorex-components-common.mjs +49 -49
  205. package/fesm2015/acorex-components-common.mjs.map +1 -1
  206. package/fesm2015/acorex-components-context-menu.mjs +8 -8
  207. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  208. package/fesm2015/acorex-components-data-pager.mjs +68 -69
  209. package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
  210. package/fesm2015/acorex-components-data-table.mjs +14 -14
  211. package/fesm2015/acorex-components-data-table.mjs.map +1 -1
  212. package/fesm2015/acorex-components-date-picker.mjs +14 -15
  213. package/fesm2015/acorex-components-date-picker.mjs.map +1 -1
  214. package/fesm2015/acorex-components-decorators.mjs +43 -43
  215. package/fesm2015/acorex-components-decorators.mjs.map +1 -1
  216. package/fesm2015/acorex-components-dialog.mjs +16 -16
  217. package/fesm2015/acorex-components-dialog.mjs.map +1 -1
  218. package/fesm2015/acorex-components-drawer.mjs +18 -26
  219. package/fesm2015/acorex-components-drawer.mjs.map +1 -1
  220. package/fesm2015/acorex-components-dropdown.mjs +7 -7
  221. package/fesm2015/acorex-components-dropdown.mjs.map +1 -1
  222. package/fesm2015/acorex-components-form.mjs +21 -28
  223. package/fesm2015/acorex-components-form.mjs.map +1 -1
  224. package/fesm2015/acorex-components-image.mjs +8 -8
  225. package/fesm2015/acorex-components-image.mjs.map +1 -1
  226. package/fesm2015/acorex-components-label.mjs +8 -8
  227. package/fesm2015/acorex-components-label.mjs.map +1 -1
  228. package/fesm2015/acorex-components-loading.mjs +21 -27
  229. package/fesm2015/acorex-components-loading.mjs.map +1 -1
  230. package/fesm2015/acorex-components-menu.mjs +11 -12
  231. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  232. package/fesm2015/acorex-components-mixin.mjs +6 -6
  233. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  234. package/fesm2015/acorex-components-number-box.mjs +11 -13
  235. package/fesm2015/acorex-components-number-box.mjs.map +1 -1
  236. package/fesm2015/acorex-components-page.mjs +10 -10
  237. package/fesm2015/acorex-components-page.mjs.map +1 -1
  238. package/fesm2015/acorex-components-password-box.mjs +11 -13
  239. package/fesm2015/acorex-components-password-box.mjs.map +1 -1
  240. package/fesm2015/acorex-components-popover.mjs +7 -7
  241. package/fesm2015/acorex-components-popover.mjs.map +1 -1
  242. package/fesm2015/acorex-components-popup.mjs +12 -14
  243. package/fesm2015/acorex-components-popup.mjs.map +1 -1
  244. package/fesm2015/acorex-components-progress-bar.mjs +9 -9
  245. package/fesm2015/acorex-components-progress-bar.mjs.map +1 -1
  246. package/fesm2015/acorex-components-radio.mjs +16 -11
  247. package/fesm2015/acorex-components-radio.mjs.map +1 -1
  248. package/fesm2015/acorex-components-range-slider.mjs +9 -9
  249. package/fesm2015/acorex-components-range-slider.mjs.map +1 -1
  250. package/fesm2015/acorex-components-rating.mjs +8 -8
  251. package/fesm2015/acorex-components-rating.mjs.map +1 -1
  252. package/fesm2015/acorex-components-result.mjs +9 -9
  253. package/fesm2015/acorex-components-result.mjs.map +1 -1
  254. package/fesm2015/acorex-components-search-box.mjs +13 -14
  255. package/fesm2015/acorex-components-search-box.mjs.map +1 -1
  256. package/fesm2015/acorex-components-select-box.mjs +24 -20
  257. package/fesm2015/acorex-components-select-box.mjs.map +1 -1
  258. package/fesm2015/acorex-components-selection-list.mjs +8 -9
  259. package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
  260. package/fesm2015/acorex-components-switch.mjs +8 -8
  261. package/fesm2015/acorex-components-switch.mjs.map +1 -1
  262. package/fesm2015/acorex-components-tabs.mjs +17 -23
  263. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  264. package/fesm2015/acorex-components-tag.mjs +52 -0
  265. package/fesm2015/acorex-components-tag.mjs.map +1 -0
  266. package/fesm2015/acorex-components-textarea.mjs +8 -8
  267. package/fesm2015/acorex-components-textarea.mjs.map +1 -1
  268. package/fesm2015/acorex-components-textbox.mjs +10 -10
  269. package/fesm2015/acorex-components-textbox.mjs.map +1 -1
  270. package/fesm2015/acorex-components-time-box.mjs +7 -7
  271. package/fesm2015/acorex-components-time-box.mjs.map +1 -1
  272. package/fesm2015/acorex-components-toast.mjs +14 -35
  273. package/fesm2015/acorex-components-toast.mjs.map +1 -1
  274. package/fesm2015/acorex-components-tooltip.mjs +13 -13
  275. package/fesm2015/acorex-components-tooltip.mjs.map +1 -1
  276. package/fesm2015/acorex-components-tree-view.mjs +8 -8
  277. package/fesm2015/acorex-components-tree-view.mjs.map +1 -1
  278. package/fesm2015/acorex-components-uploader.mjs +8 -8
  279. package/fesm2015/acorex-components-uploader.mjs.map +1 -1
  280. package/fesm2020/acorex-components-action-sheet.mjs +15 -15
  281. package/fesm2020/acorex-components-action-sheet.mjs.map +1 -1
  282. package/fesm2020/acorex-components-alert.mjs +15 -18
  283. package/fesm2020/acorex-components-alert.mjs.map +1 -1
  284. package/fesm2020/acorex-components-avatar.mjs +11 -12
  285. package/fesm2020/acorex-components-avatar.mjs.map +1 -1
  286. package/fesm2020/acorex-components-badge.mjs +10 -12
  287. package/fesm2020/acorex-components-badge.mjs.map +1 -1
  288. package/fesm2020/acorex-components-breadcrumbs.mjs +21 -13
  289. package/fesm2020/acorex-components-breadcrumbs.mjs.map +1 -1
  290. package/fesm2020/acorex-components-button.mjs +21 -18
  291. package/fesm2020/acorex-components-button.mjs.map +1 -1
  292. package/fesm2020/acorex-components-calendar.mjs +12 -14
  293. package/fesm2020/acorex-components-calendar.mjs.map +1 -1
  294. package/fesm2020/acorex-components-checkbox.mjs +8 -8
  295. package/fesm2020/acorex-components-checkbox.mjs.map +1 -1
  296. package/fesm2020/acorex-components-chips.mjs +55 -0
  297. package/fesm2020/acorex-components-chips.mjs.map +1 -0
  298. package/fesm2020/acorex-components-collapse.mjs +11 -11
  299. package/fesm2020/acorex-components-collapse.mjs.map +1 -1
  300. package/fesm2020/acorex-components-color-palette.mjs +34 -36
  301. package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
  302. package/fesm2020/acorex-components-color-picker.mjs +15 -17
  303. package/fesm2020/acorex-components-color-picker.mjs.map +1 -1
  304. package/fesm2020/acorex-components-common.mjs +49 -49
  305. package/fesm2020/acorex-components-common.mjs.map +1 -1
  306. package/fesm2020/acorex-components-context-menu.mjs +8 -8
  307. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  308. package/fesm2020/acorex-components-data-pager.mjs +68 -69
  309. package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
  310. package/fesm2020/acorex-components-data-table.mjs +14 -14
  311. package/fesm2020/acorex-components-data-table.mjs.map +1 -1
  312. package/fesm2020/acorex-components-date-picker.mjs +14 -15
  313. package/fesm2020/acorex-components-date-picker.mjs.map +1 -1
  314. package/fesm2020/acorex-components-decorators.mjs +43 -43
  315. package/fesm2020/acorex-components-decorators.mjs.map +1 -1
  316. package/fesm2020/acorex-components-dialog.mjs +16 -16
  317. package/fesm2020/acorex-components-dialog.mjs.map +1 -1
  318. package/fesm2020/acorex-components-drawer.mjs +18 -26
  319. package/fesm2020/acorex-components-drawer.mjs.map +1 -1
  320. package/fesm2020/acorex-components-dropdown.mjs +7 -7
  321. package/fesm2020/acorex-components-dropdown.mjs.map +1 -1
  322. package/fesm2020/acorex-components-form.mjs +21 -28
  323. package/fesm2020/acorex-components-form.mjs.map +1 -1
  324. package/fesm2020/acorex-components-image.mjs +8 -8
  325. package/fesm2020/acorex-components-image.mjs.map +1 -1
  326. package/fesm2020/acorex-components-label.mjs +8 -8
  327. package/fesm2020/acorex-components-label.mjs.map +1 -1
  328. package/fesm2020/acorex-components-loading.mjs +21 -27
  329. package/fesm2020/acorex-components-loading.mjs.map +1 -1
  330. package/fesm2020/acorex-components-menu.mjs +11 -12
  331. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  332. package/fesm2020/acorex-components-mixin.mjs +6 -6
  333. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  334. package/fesm2020/acorex-components-number-box.mjs +11 -13
  335. package/fesm2020/acorex-components-number-box.mjs.map +1 -1
  336. package/fesm2020/acorex-components-page.mjs +10 -10
  337. package/fesm2020/acorex-components-page.mjs.map +1 -1
  338. package/fesm2020/acorex-components-password-box.mjs +11 -13
  339. package/fesm2020/acorex-components-password-box.mjs.map +1 -1
  340. package/fesm2020/acorex-components-popover.mjs +7 -7
  341. package/fesm2020/acorex-components-popover.mjs.map +1 -1
  342. package/fesm2020/acorex-components-popup.mjs +12 -14
  343. package/fesm2020/acorex-components-popup.mjs.map +1 -1
  344. package/fesm2020/acorex-components-progress-bar.mjs +9 -9
  345. package/fesm2020/acorex-components-progress-bar.mjs.map +1 -1
  346. package/fesm2020/acorex-components-radio.mjs +16 -11
  347. package/fesm2020/acorex-components-radio.mjs.map +1 -1
  348. package/fesm2020/acorex-components-range-slider.mjs +9 -9
  349. package/fesm2020/acorex-components-range-slider.mjs.map +1 -1
  350. package/fesm2020/acorex-components-rating.mjs +8 -8
  351. package/fesm2020/acorex-components-rating.mjs.map +1 -1
  352. package/fesm2020/acorex-components-result.mjs +9 -9
  353. package/fesm2020/acorex-components-result.mjs.map +1 -1
  354. package/fesm2020/acorex-components-search-box.mjs +13 -14
  355. package/fesm2020/acorex-components-search-box.mjs.map +1 -1
  356. package/fesm2020/acorex-components-select-box.mjs +24 -20
  357. package/fesm2020/acorex-components-select-box.mjs.map +1 -1
  358. package/fesm2020/acorex-components-selection-list.mjs +8 -9
  359. package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
  360. package/fesm2020/acorex-components-switch.mjs +8 -8
  361. package/fesm2020/acorex-components-switch.mjs.map +1 -1
  362. package/fesm2020/acorex-components-tabs.mjs +17 -23
  363. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  364. package/fesm2020/acorex-components-tag.mjs +52 -0
  365. package/fesm2020/acorex-components-tag.mjs.map +1 -0
  366. package/fesm2020/acorex-components-textarea.mjs +8 -8
  367. package/fesm2020/acorex-components-textarea.mjs.map +1 -1
  368. package/fesm2020/acorex-components-textbox.mjs +10 -10
  369. package/fesm2020/acorex-components-textbox.mjs.map +1 -1
  370. package/fesm2020/acorex-components-time-box.mjs +7 -7
  371. package/fesm2020/acorex-components-time-box.mjs.map +1 -1
  372. package/fesm2020/acorex-components-toast.mjs +14 -35
  373. package/fesm2020/acorex-components-toast.mjs.map +1 -1
  374. package/fesm2020/acorex-components-tooltip.mjs +13 -13
  375. package/fesm2020/acorex-components-tooltip.mjs.map +1 -1
  376. package/fesm2020/acorex-components-tree-view.mjs +8 -8
  377. package/fesm2020/acorex-components-tree-view.mjs.map +1 -1
  378. package/fesm2020/acorex-components-uploader.mjs +8 -8
  379. package/fesm2020/acorex-components-uploader.mjs.map +1 -1
  380. package/mixin/src/base-components.class.d.ts +2 -2
  381. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  382. package/mixin/src/button-mixin.class.d.ts +2 -2
  383. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  384. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  385. package/mixin/src/datalist-component.class.d.ts +10 -10
  386. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  387. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  388. package/mixin/src/loading-mixin.class.d.ts +2 -2
  389. package/mixin/src/mixin.class.d.ts +61 -61
  390. package/mixin/src/page-component.class.d.ts +2 -2
  391. package/mixin/src/selection-component.class.d.ts +2 -2
  392. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  393. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  394. package/mixin/src/value-mixin.class.d.ts +8 -8
  395. package/number-box/src/number-box.component.d.ts +1 -2
  396. package/package.json +17 -1
  397. package/password-box/src/password-box.component.d.ts +1 -1
  398. package/radio/src/radio.component.d.ts +1 -0
  399. package/result/src/result.component.d.ts +1 -1
  400. package/scss/_mixin.scss +1 -0
  401. package/scss/_variable.scss +1 -0
  402. package/scss/index.scss +2 -0
  403. package/select-box/src/selectbox.component.d.ts +2 -2
  404. package/tabs/src/tab-item.component.d.ts +2 -2
  405. package/tabs/src/tabs.class.d.ts +1 -1
  406. package/tag/index.d.ts +5 -0
  407. package/tag/public-api.d.ts +2 -0
  408. package/tag/src/tag.component.d.ts +11 -0
  409. package/tag/src/tag.module.d.ts +8 -0
  410. package/toast/src/toast.service.d.ts +0 -3
  411. package/tooltip/src/tooltip.directive.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, ViewChild, Input, NgModule } from '@angular/core';
3
- import * as i6 from '@acorex/components/common';
3
+ import * as i5 from '@acorex/components/common';
4
4
  import { AXSearchableComponent } from '@acorex/components/common';
5
5
  import * as i3 from '@acorex/components/textbox';
6
6
  import { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/textbox';
@@ -9,10 +9,9 @@ import * as i1 from '@angular/common';
9
9
  import { CommonModule } from '@angular/common';
10
10
  import * as i2 from '@acorex/components/decorators';
11
11
  import { AXDecoratorModule } from '@acorex/components/decorators';
12
- import * as i4 from '@acorex/components/button';
13
- import { AXButtonModule } from '@acorex/components/button';
14
- import * as i5 from '@acorex/core/translation';
12
+ import * as i4 from '@acorex/core/translation';
15
13
  import { AXTranslationModule } from '@acorex/core/translation';
14
+ import { AXButtonModule } from '@acorex/components/button';
16
15
 
17
16
  class AXSearchBoxComponent extends AXBaseComponentMixin {
18
17
  constructor(_elementRef, _cdr, _parent) {
@@ -32,15 +31,15 @@ class AXSearchBoxComponent extends AXBaseComponentMixin {
32
31
  this._textbox?.focus();
33
32
  }
34
33
  clear() {
35
- this._textbox._setValue(null);
34
+ this._textbox.value = '';
36
35
  }
37
36
  }
38
- AXSearchBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSearchBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXSearchableComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
39
- AXSearchBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: { placeholder: "placeholder", debounceTime: "debounceTime", searchExp: "searchExp" }, viewQueries: [{ propertyName: "_textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" \r\n [(value)]=\"searchExp\" (onValueChanged)=\"_onSearchExprChanged($event)\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic ax-ic-magnify\" >\r\n </ax-icon>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <ax-button look=\"blank\" color=\"light\" *ngIf=\"searchExp\" (onClick)=\"clear()\">\r\n <ax-icon class=\"ax-ic ax-ic-close\">\r\n </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n</ax-text-box>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i2.AXDecoratorSuffixComponent, selector: "ax-suffix" }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "name", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "mask-options"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSearchBoxComponent, decorators: [{
37
+ AXSearchBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSearchBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXSearchableComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
38
+ AXSearchBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AXSearchBoxComponent, selector: "ax-search-box", inputs: { placeholder: "placeholder", debounceTime: "debounceTime", searchExp: "searchExp" }, viewQueries: [{ propertyName: "_textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\r\n (onValueChanged)=\"_onSearchExprChanged($event)\">\r\n <ax-prefix>\r\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <button *ngIf=\"searchExp\" class=\"ax-general-button ax-button-icon\" (click)=\"clear()\">\r\n <span class=\"ax-icon ax-icon-close\"></span>\r\n </button>\r\n </ax-suffix>\r\n</ax-text-box>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i2.AXDecoratorSuffixComponent, selector: "ax-suffix" }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "name", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "mask-options"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSearchBoxComponent, decorators: [{
41
40
  type: Component,
42
- args: [{ selector: 'ax-search-box', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" \r\n [(value)]=\"searchExp\" (onValueChanged)=\"_onSearchExprChanged($event)\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic ax-ic-magnify\" >\r\n </ax-icon>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <ax-button look=\"blank\" color=\"light\" *ngIf=\"searchExp\" (onClick)=\"clear()\">\r\n <ax-icon class=\"ax-ic ax-ic-close\">\r\n </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n</ax-text-box>" }]
43
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i6.AXSearchableComponent, decorators: [{
41
+ args: [{ selector: 'ax-search-box', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\r\n (onValueChanged)=\"_onSearchExprChanged($event)\">\r\n <ax-prefix>\r\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <button *ngIf=\"searchExp\" class=\"ax-general-button ax-button-icon\" (click)=\"clear()\">\r\n <span class=\"ax-icon ax-icon-close\"></span>\r\n </button>\r\n </ax-suffix>\r\n</ax-text-box>" }]
42
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i5.AXSearchableComponent, decorators: [{
44
43
  type: Optional
45
44
  }, {
46
45
  type: Inject,
@@ -60,10 +59,10 @@ const COMPONENT = [AXSearchBoxComponent];
60
59
  const MODULES = [CommonModule, AXTranslationModule, AXDecoratorModule, AXTextBoxModule, AXButtonModule];
61
60
  class AXSearchBoxModule {
62
61
  }
63
- AXSearchBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSearchBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
64
- AXSearchBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: AXSearchBoxModule, declarations: [AXSearchBoxComponent], imports: [CommonModule, AXTranslationModule, AXDecoratorModule, AXTextBoxModule, AXButtonModule], exports: [AXSearchBoxComponent] });
65
- AXSearchBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSearchBoxModule, imports: [MODULES] });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSearchBoxModule, decorators: [{
62
+ AXSearchBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSearchBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
63
+ AXSearchBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AXSearchBoxModule, declarations: [AXSearchBoxComponent], imports: [CommonModule, AXTranslationModule, AXDecoratorModule, AXTextBoxModule, AXButtonModule], exports: [AXSearchBoxComponent] });
64
+ AXSearchBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSearchBoxModule, imports: [MODULES] });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSearchBoxModule, decorators: [{
67
66
  type: NgModule,
68
67
  args: [{
69
68
  declarations: [...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-search-box.mjs","sources":["../../../../projects/acorex/components/search-box/src/search-box.component.ts","../../../../projects/acorex/components/search-box/src/search-box.component.html","../../../../projects/acorex/components/search-box/src/search-box.module.ts","../../../../projects/acorex/components/search-box/acorex-components-search-box.ts"],"sourcesContent":["import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Optional,\r\n Inject,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n AXSearchableComponent,\r\n AXValueChangedEvent,\r\n} from '@acorex/components/common';\r\nimport { AXTextBoxComponent } from '@acorex/components/textbox';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\n\r\n@Component({\r\n selector: 'ax-search-box',\r\n templateUrl: './search-box.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXSearchBoxComponent extends AXBaseComponentMixin {\r\n @ViewChild(AXTextBoxComponent)\r\n _textbox: AXTextBoxComponent;\r\n\r\n constructor(\r\n _elementRef: ElementRef,\r\n _cdr: ChangeDetectorRef,\r\n @Optional()\r\n @Inject(AXSearchableComponent)\r\n private _parent: AXSearchableComponent\r\n ) {\r\n super(_elementRef, _cdr);\r\n }\r\n\r\n @Input()\r\n placeholder: string = 'common.search';\r\n\r\n @Input()\r\n debounceTime: number = 500;\r\n\r\n @Input()\r\n searchExp: string = '';\r\n\r\n _onSearchExprChanged(e: AXValueChangedEvent<string>) {\r\n //TODO: debounceTime\r\n if (this._parent && this._parent.search) {\r\n this._parent.search(e.value as any);\r\n }\r\n }\r\n\r\n focus() {\r\n this._textbox?.focus();\r\n }\r\n\r\n clear() {\r\n this._textbox._setValue(null);\r\n }\r\n}\r\n","<ax-text-box placeholder=\"{{ placeholder | trans }}\" \r\n [(value)]=\"searchExp\" (onValueChanged)=\"_onSearchExprChanged($event)\">\r\n <ax-prefix>\r\n <ax-icon class=\"ax-ic ax-ic-magnify\" >\r\n </ax-icon>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <ax-button look=\"blank\" color=\"light\" *ngIf=\"searchExp\" (onClick)=\"clear()\">\r\n <ax-icon class=\"ax-ic ax-ic-close\">\r\n </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n</ax-text-box>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXSearchBoxComponent } from './search-box.component';\r\nimport { AXTextBoxModule } from '@acorex/components/textbox';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\n\r\nconst COMPONENT = [AXSearchBoxComponent];\r\nconst MODULES = [CommonModule, AXTranslationModule, AXDecoratorModule, AXTextBoxModule, AXButtonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXSearchBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwBM,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;AAI5D,IAAA,WAAA,CACE,WAAuB,EACvB,IAAuB,EAGf,OAA8B,EAAA;AAEtC,QAAA,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAFjB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAMxC,IAAW,CAAA,WAAA,GAAW,eAAe,CAAC;QAGtC,IAAY,CAAA,YAAA,GAAW,GAAG,CAAC;QAG3B,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;KATtB;AAWD,IAAA,oBAAoB,CAAC,CAA8B,EAAA;;QAEjD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAY,CAAC,CAAC;AACrC,SAAA;KACF;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;KACxB;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC/B;;AApCU,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,6EAQrB,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGARpB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACpB,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzB/B,8fAYc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDYD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,mBAER,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8fAAA,EAAA,CAAA;;0BASlC,QAAQ;;0BACR,MAAM;2BAAC,qBAAqB,CAAA;4CAN/B,QAAQ,EAAA,CAAA;sBADP,SAAS;uBAAC,kBAAkB,CAAA;gBAc7B,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;;;AEpCR,MAAM,SAAS,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACzC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;MAQ3F,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EATX,YAAA,EAAA,CAAA,oBAAoB,CACtB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,aADnF,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAS1B,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJb,OAAO,CAAA,EAAA,CAAA,CAAA;2FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AAChB,iBAAA,CAAA;;;AChBD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-search-box.mjs","sources":["../../../../projects/acorex/components/search-box/src/search-box.component.ts","../../../../projects/acorex/components/search-box/src/search-box.component.html","../../../../projects/acorex/components/search-box/src/search-box.module.ts","../../../../projects/acorex/components/search-box/acorex-components-search-box.ts"],"sourcesContent":["import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Optional,\r\n Inject,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n AXSearchableComponent,\r\n AXValueChangedEvent,\r\n} from '@acorex/components/common';\r\nimport { AXTextBoxComponent } from '@acorex/components/textbox';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\n\r\n@Component({\r\n selector: 'ax-search-box',\r\n templateUrl: './search-box.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AXSearchBoxComponent extends AXBaseComponentMixin {\r\n @ViewChild(AXTextBoxComponent)\r\n _textbox: AXTextBoxComponent;\r\n\r\n constructor(\r\n _elementRef: ElementRef,\r\n _cdr: ChangeDetectorRef,\r\n @Optional()\r\n @Inject(AXSearchableComponent)\r\n private _parent: AXSearchableComponent\r\n ) {\r\n super(_elementRef, _cdr);\r\n }\r\n\r\n @Input()\r\n placeholder: string = 'common.search';\r\n\r\n @Input()\r\n debounceTime: number = 500;\r\n\r\n @Input()\r\n searchExp: string = '';\r\n\r\n _onSearchExprChanged(e: AXValueChangedEvent<string>) {\r\n //TODO: debounceTime\r\n if (this._parent && this._parent.search) {\r\n this._parent.search(e.value as any);\r\n }\r\n }\r\n\r\n focus() {\r\n this._textbox?.focus();\r\n }\r\n\r\n clear() {\r\n this._textbox.value = '';\r\n }\r\n}\r\n","<ax-text-box placeholder=\"{{ placeholder | trans }}\" [(value)]=\"searchExp\"\r\n (onValueChanged)=\"_onSearchExprChanged($event)\">\r\n <ax-prefix>\r\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\r\n </ax-prefix>\r\n <ax-suffix>\r\n <button *ngIf=\"searchExp\" class=\"ax-general-button ax-button-icon\" (click)=\"clear()\">\r\n <span class=\"ax-icon ax-icon-close\"></span>\r\n </button>\r\n </ax-suffix>\r\n</ax-text-box>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTranslationModule } from '@acorex/core/translation';\r\nimport { AXSearchBoxComponent } from './search-box.component';\r\nimport { AXTextBoxModule } from '@acorex/components/textbox';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\n\r\nconst COMPONENT = [AXSearchBoxComponent];\r\nconst MODULES = [CommonModule, AXTranslationModule, AXDecoratorModule, AXTextBoxModule, AXButtonModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXSearchBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,27 +1,26 @@
1
- import * as i9 from '@acorex/core/translation';
1
+ import * as i8 from '@acorex/core/translation';
2
2
  import { AXTranslator, AXTranslationModule } from '@acorex/core/translation';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, ContentChild, Input, HostListener, NgModule } from '@angular/core';
5
5
  import { findLast, first, last, findLastIndex, nth } from 'lodash-es';
6
6
  import { AXClosbaleComponent, AXSearchableComponent, AXCommonModule } from '@acorex/components/common';
7
- import * as i5 from '@acorex/components/popover';
7
+ import * as i4 from '@acorex/components/popover';
8
8
  import { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
9
9
  import { AXSearchBoxComponent } from '@acorex/components/search-box';
10
10
  import { AXBaseSelectionDropdownMixin } from '@acorex/components/mixin';
11
11
  import * as i1 from '@acorex/core/platform';
12
12
  import * as i2 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
- import * as i3 from '@acorex/components/badge';
15
- import { AXBadgeModule } from '@acorex/components/badge';
16
- import * as i4 from '@acorex/components/decorators';
14
+ import * as i3 from '@acorex/components/decorators';
17
15
  import { AXDecoratorModule } from '@acorex/components/decorators';
18
- import * as i6 from '@acorex/components/button';
16
+ import * as i5 from '@acorex/components/button';
19
17
  import { AXButtonModule } from '@acorex/components/button';
20
- import * as i7 from '@acorex/components/loading';
18
+ import * as i6 from '@acorex/components/loading';
21
19
  import { AXLoadingModule } from '@acorex/components/loading';
22
- import * as i8 from '@angular/cdk/a11y';
20
+ import * as i7 from '@angular/cdk/a11y';
23
21
  import { A11yModule } from '@angular/cdk/a11y';
24
22
  import { FormsModule } from '@angular/forms';
23
+ import { AXBadgeModule } from '@acorex/components/badge';
25
24
  import { AXCheckBoxModule } from '@acorex/components/checkbox';
26
25
  import { AXTextBoxModule } from '@acorex/components/textbox';
27
26
 
@@ -54,14 +53,15 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
54
53
  this._platform.resize.subscribe(() => {
55
54
  this._isMobile = this._platform.is('Mobile');
56
55
  this.popover.dispose();
57
- this._popoverWidth = this._isMobile ? 0 : this._target.offsetWidth;
56
+ this._detectPopupSize();
58
57
  });
59
58
  }
60
59
  get emptyTemplate() {
61
60
  return this._contentEmptyTemplate;
62
61
  }
63
62
  _handleArrowClickEvent(e) {
64
- e.nativeEvent.stopPropagation();
63
+ e.stopPropagation();
64
+ // e.nativeEvent.stopPropagation();
65
65
  this.toggle();
66
66
  }
67
67
  _handleInputClickEvent(e) {
@@ -75,7 +75,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
75
75
  }
76
76
  onViewInit() {
77
77
  super.onViewInit();
78
- this._popoverWidth = this._isMobile ? 0 : this._target.offsetWidth;
78
+ this._detectPopupSize();
79
79
  }
80
80
  refresh() {
81
81
  this.value = null;
@@ -87,6 +87,9 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
87
87
  this._popoverTitle =
88
88
  this.placeholder || AXTranslator.get('selectbox.popover.title');
89
89
  }
90
+ _detectPopupSize() {
91
+ this._popoverWidth = this._isMobile ? 0 : this._target.offsetWidth;
92
+ }
90
93
  _handleOnItemClick(e, item) {
91
94
  if (this.isItemDisabled(item)) {
92
95
  return;
@@ -222,6 +225,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
222
225
  }
223
226
  }
224
227
  async _handlePopupOnOpened(e) {
228
+ this._detectPopupSize();
225
229
  this.popover.focus();
226
230
  if (this.displayItems.length == 0) {
227
231
  this._forceFocus = true;
@@ -320,12 +324,12 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
320
324
  super._fetchData({ searchQuery: this._searchBox?.searchExp });
321
325
  }
322
326
  }
323
- AXSelectBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSelectBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
324
- AXSelectBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", pageSize: "pageSize", valueField: "valueField", textField: "textField", items: "items", disabledField: "disabledField", disabledCallback: "disabledCallback", multiple: "multiple", selectionMode: "selectionMode", clearButton: "clearButton", checkbox: "checkbox" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", valueChanged: "valueChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, classAttribute: "ax-select-box ax-editor-container ax-drop-down" }, providers: [
327
+ AXSelectBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSelectBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
328
+ AXSelectBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", pageSize: "pageSize", valueField: "valueField", textField: "textField", items: "items", disabledField: "disabledField", disabledCallback: "disabledCallback", multiple: "multiple", selectionMode: "selectionMode", clearButton: "clearButton", checkbox: "checkbox" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", valueChanged: "valueChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, classAttribute: "ax-editor-container ax-drop-down" }, providers: [
325
329
  { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },
326
330
  { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },
327
- ], queries: [{ propertyName: "_searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span class=\"ax-mx-4\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <div class=\"ax-flex ax-mx-2\">\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <ax-badge [text]=\"_getItemDisplayTextTemplte(item)\" color=\"light\" class=\"ax-me-2\">\r\n <ax-suffix>\r\n <ax-icon icon=\"ax-ic ax-ic-close ax-cursor-pointer\"\r\n (click)=\"_handleBadgeRemove($event,item)\"></ax-icon>\r\n </ax-suffix>\r\n </ax-badge>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\"> {{placeholder}}</div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-prefix *ngIf=\"(isLoading && !this.popover.isOpen);else icon\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ax-prefix>\r\n <ng-template #icon>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron -ax-rotate-90 ax-transition-all\"\r\n [class.!ax-rotate-90]=\"isOpen\"></ax-icon>\r\n </ng-template>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane \" (keydown)=\"_handlePopoverKeydown($event)\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\" [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isMobile && placeholder\">\r\n <ax-title [text]=\"_popoverTitle\"></ax-title>\r\n <ax-close-button [icon]=\"multiple?'ax-ic-check !ax-text-primary-500':'ax-ic-close'\"></ax-close-button>\r\n </ax-header>\r\n <div class=\"ax-p-2\" [class.ax-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox!=null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"tmpTree; context:{ list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list;let i = index;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0;else tmpItem\">\r\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-check-box]=\"checkbox\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <input type=\"checkbox\" [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n *ngIf=\"checkbox\" [checked]=\"isItemSelected(item)\"\r\n [disabled]=\"isItemDisabled(item)\">\r\n <span class=\"ax-ms-2\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"'common.no-result-for' | trans:{exp:this._searchBox? this._searchBox.searchExp :''}\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i4.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { kind: "component", type: i4.AXDecoratorSuffixComponent, selector: "ax-suffix" }, { kind: "component", type: i4.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorTitleComponent, selector: "ax-title", inputs: ["text"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i7.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "directive", type: i8.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
331
+ ], queries: [{ propertyName: "_searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <div class=\"ax-select-multi-item\">\r\n {{_getItemDisplayTextTemplte(item)}}\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event,item)\">\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\"> {{placeholder}}</div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\r\n</ax-button>\r\n<button [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-control\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ng-container>\r\n <ng-template #iconTemplate>\r\n <span class=\"ax-icon ax-icon-chevron-left ax-transition-all\" [ngClass]=\"{'-ax-rotate-90': !isOpen, 'ax-rotate-90':isOpen}\"></span>\r\n </ng-template>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" (keydown)=\"_handlePopoverKeydown($event)\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\" [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isMobile && placeholder\">\r\n <ax-title [text]=\"_popoverTitle\"></ax-title>\r\n <ax-close-button class=\"ax-icon\" [icon]=\"multiple?'ax-icon-done !ax-text-primary-500':'ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n <div class=\"ax-search-box-container\" [class.ax-state-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox!=null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"tmpTree; context:{ list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list;let i = index;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0;else tmpItem\">\r\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-check-box]=\"checkbox\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <input class=\"ax-checkbox\" type=\"checkbox\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" *ngIf=\"checkbox\"\r\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\">\r\n <span class=\"ax-ms-2\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"'common.no-result-for' | trans:{exp:this._searchBox? this._searchBox.searchExp :''}\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgb(var(--ax-color-ghost),.05);border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorTitleComponent, selector: "ax-title", inputs: ["text"] }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i6.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
329
333
  type: Component,
330
334
  args: [{ selector: 'ax-select-box', inputs: [
331
335
  'isOpen', 'fitParent', 'dropdownWidth', 'position',
@@ -348,7 +352,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
348
352
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
349
353
  { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },
350
354
  { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },
351
- ], host: { class: 'ax-select-box ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span class=\"ax-mx-4\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <div class=\"ax-flex ax-mx-2\">\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <ax-badge [text]=\"_getItemDisplayTextTemplte(item)\" color=\"light\" class=\"ax-me-2\">\r\n <ax-suffix>\r\n <ax-icon icon=\"ax-ic ax-ic-close ax-cursor-pointer\"\r\n (click)=\"_handleBadgeRemove($event,item)\"></ax-icon>\r\n </ax-suffix>\r\n </ax-badge>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\"> {{placeholder}}</div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-prefix *ngIf=\"(isLoading && !this.popover.isOpen);else icon\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ax-prefix>\r\n <ng-template #icon>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron -ax-rotate-90 ax-transition-all\"\r\n [class.!ax-rotate-90]=\"isOpen\"></ax-icon>\r\n </ng-template>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane \" (keydown)=\"_handlePopoverKeydown($event)\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\" [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isMobile && placeholder\">\r\n <ax-title [text]=\"_popoverTitle\"></ax-title>\r\n <ax-close-button [icon]=\"multiple?'ax-ic-check !ax-text-primary-500':'ax-ic-close'\"></ax-close-button>\r\n </ax-header>\r\n <div class=\"ax-p-2\" [class.ax-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox!=null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"tmpTree; context:{ list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list;let i = index;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0;else tmpItem\">\r\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-check-box]=\"checkbox\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <input type=\"checkbox\" [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n *ngIf=\"checkbox\" [checked]=\"isItemSelected(item)\"\r\n [disabled]=\"isItemDisabled(item)\">\r\n <span class=\"ax-ms-2\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"'common.no-result-for' | trans:{exp:this._searchBox? this._searchBox.searchExp :''}\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>" }]
355
+ ], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <div class=\"ax-select-multi-item\">\r\n {{_getItemDisplayTextTemplte(item)}}\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event,item)\">\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\"> {{placeholder}}</div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\r\n</ax-button>\r\n<button [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-control\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ng-container>\r\n <ng-template #iconTemplate>\r\n <span class=\"ax-icon ax-icon-chevron-left ax-transition-all\" [ngClass]=\"{'-ax-rotate-90': !isOpen, 'ax-rotate-90':isOpen}\"></span>\r\n </ng-template>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" (keydown)=\"_handlePopoverKeydown($event)\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\" [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isMobile && placeholder\">\r\n <ax-title [text]=\"_popoverTitle\"></ax-title>\r\n <ax-close-button class=\"ax-icon\" [icon]=\"multiple?'ax-icon-done !ax-text-primary-500':'ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n <div class=\"ax-search-box-container\" [class.ax-state-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox!=null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"tmpTree; context:{ list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list;let i = index;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0;else tmpItem\">\r\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-check-box]=\"checkbox\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <input class=\"ax-checkbox\" type=\"checkbox\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" *ngIf=\"checkbox\"\r\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\">\r\n <span class=\"ax-ms-2\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"'common.no-result-for' | trans:{exp:this._searchBox? this._searchBox.searchExp :''}\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgb(var(--ax-color-ghost),.05);border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"] }]
352
356
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
353
357
  type: ViewChild,
354
358
  args: [AXPopoverComponent, { static: true }]
@@ -372,8 +376,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
372
376
 
373
377
  class AXSelectBoxModule {
374
378
  }
375
- AXSelectBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSelectBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
376
- AXSelectBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: AXSelectBoxModule, declarations: [AXSelectBoxComponent], imports: [CommonModule,
379
+ AXSelectBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSelectBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
380
+ AXSelectBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AXSelectBoxModule, declarations: [AXSelectBoxComponent], imports: [CommonModule,
377
381
  AXCommonModule,
378
382
  FormsModule,
379
383
  AXCheckBoxModule,
@@ -385,7 +389,7 @@ AXSelectBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
385
389
  AXLoadingModule,
386
390
  A11yModule,
387
391
  AXTextBoxModule], exports: [AXSelectBoxComponent] });
388
- AXSelectBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSelectBoxModule, imports: [CommonModule,
392
+ AXSelectBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSelectBoxModule, imports: [CommonModule,
389
393
  AXCommonModule,
390
394
  FormsModule,
391
395
  AXCheckBoxModule,
@@ -397,7 +401,7 @@ AXSelectBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
397
401
  AXLoadingModule,
398
402
  A11yModule,
399
403
  AXTextBoxModule] });
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXSelectBoxModule, decorators: [{
404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXSelectBoxModule, decorators: [{
401
405
  type: NgModule,
402
406
  args: [{
403
407
  imports: [CommonModule,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-select-box.mjs","sources":["../../../../projects/acorex/components/select-box/src/selectbox.component.ts","../../../../projects/acorex/components/select-box/src/selectbox.component.html","../../../../projects/acorex/components/select-box/src/selectbox.module.ts","../../../../projects/acorex/components/select-box/acorex-components-select-box.ts"],"sourcesContent":["import { AXPlatform } from '@acorex/core/platform';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n NgZone,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {findLast, findLastIndex, first, last, nth} from 'lodash-es';\r\nimport {\r\n \r\n AXClickEvent,\r\n AXClosbaleComponent,\r\n AXSearchableComponent,\r\n} from '@acorex/components/common';\r\n\r\n\r\nimport { AXPopoverComponent } from '@acorex/components/popover';\r\nimport { AXSearchBoxComponent } from '@acorex/components/search-box';\r\nimport { AXBaseSelectionDropdownMixin } from '@acorex/components/mixin';\r\n\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-select-box',\r\n templateUrl: 'selectbox.component.html',\r\n inputs: [\r\n 'isOpen','fitParent', 'dropdownWidth','position',\r\n 'disabled', 'tabIndex',\r\n 'readonly','allowNull','value','name', 'checked',\r\n 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','allowNull','value','name', 'checked',\r\n 'pageSize', 'valueField', 'textField', 'items',\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'disabledCallback',\r\n 'multiple',\r\n 'selectionMode',\r\n ],\r\n outputs: [\r\n 'onOpened', 'onClosed',\r\n 'onBlur', 'onFocus',\r\n 'valueChange', 'onValueChanged',\r\n 'valueChange', 'onValueChanged',\r\n 'onValueChanged', 'valueChanged',\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },\r\n ],\r\n host: { class: 'ax-select-box ax-editor-container ax-drop-down' },\r\n})\r\nexport class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {\r\n @ViewChild(AXPopoverComponent, { static: true })\r\n popover: AXPopoverComponent;\r\n\r\n @ContentChild(AXSearchBoxComponent, { static: true })\r\n _searchBox: AXSearchBoxComponent;\r\n\r\n _target: HTMLDivElement;\r\n _popoverTitle: string;\r\n _popoverWidth: number;\r\n\r\n /**\r\n * Defines the clearButton.\r\n */\r\n @Input()\r\n clearButton: boolean = false;\r\n\r\n /**\r\n * Defines the checkbox.\r\n */\r\n @Input()\r\n checkbox: boolean = false;\r\n\r\n @ViewChild('listContainer', { static: true })\r\n private listContainer: ElementRef<HTMLDivElement>;\r\n\r\n @ContentChild('emptyTemplate')\r\n private _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n get emptyTemplate(): TemplateRef<any> {\r\n return this._contentEmptyTemplate;\r\n }\r\n\r\n _isMobile: boolean = false;\r\n _forceFocus: boolean = false;\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n private _elementRef: ElementRef<HTMLDivElement>,\r\n private _cdr: ChangeDetectorRef,\r\n private _zone: NgZone,\r\n private _platform: AXPlatform\r\n ) {\r\n super(_elementRef, _cdr);\r\n this._isMobile = this._platform.is('Mobile');\r\n this._platform.resize.subscribe(() => {\r\n this._isMobile = this._platform.is('Mobile');\r\n this.popover.dispose();\r\n this._popoverWidth = this._isMobile ? 0 : this._target.offsetWidth;\r\n });\r\n }\r\n\r\n _handleArrowClickEvent(e: AXClickEvent) {\r\n e.nativeEvent.stopPropagation();\r\n this.toggle();\r\n }\r\n\r\n _handleInputClickEvent(e: MouseEvent) {\r\n e.stopPropagation();\r\n this.toggle();\r\n }\r\n\r\n onInit() {\r\n super.onInit();\r\n this._target = this._elementRef.nativeElement;\r\n\r\n this._updatePopupTitle();\r\n }\r\n\r\n onViewInit() {\r\n super.onViewInit();\r\n this._popoverWidth = this._isMobile ? 0 : this._target.offsetWidth;\r\n }\r\n\r\n refresh() {\r\n this.value = null;\r\n super.refresh();\r\n }\r\n\r\n private _updatePopupTitle() {\r\n // const count =this.selectedItems?.length;\r\n // this._popoverTitle = count > 1 ? `(${count}) items selected`: this.placeholder || AXTranslator.get('selectbox.popover.title')\r\n this._popoverTitle =\r\n this.placeholder || AXTranslator.get('selectbox.popover.title');\r\n }\r\n\r\n _handleOnItemClick(e: MouseEvent, item: any) {\r\n if (this.isItemDisabled(item)) {\r\n return;\r\n }\r\n if (!this.multiple) this.close();\r\n this.toggleSelect(item);\r\n this._cdr.detectChanges();\r\n }\r\n\r\n _handleListScroll(e: Event) {\r\n const list = e.target as HTMLDivElement;\r\n if (list.scrollTop < list.scrollHeight - list.clientHeight) {\r\n return;\r\n }\r\n this._fetchData();\r\n }\r\n\r\n private _checkForLoadData() {\r\n const list: any = this.listContainer.nativeElement;\r\n if (\r\n this.loadedCount < this.totalCount &&\r\n list.scrollHeight < list.parentElement.clientHeight * 1.5\r\n ) {\r\n this._fetchData();\r\n }\r\n }\r\n\r\n _onDataLoaded() {\r\n if (this.popover.isOpen) {\r\n setTimeout(() => {\r\n this._checkForLoadData();\r\n this.popover.updatePosition();\r\n if (this._forceFocus) {\r\n this._focusSelectedItem();\r\n this._forceFocus = false;\r\n }\r\n this._focusSearchBox();\r\n }, 100);\r\n }\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any) {\r\n super._onValueChanged(oldValue, newValue);\r\n }\r\n\r\n _handleOnRemoveItemClick(e: MouseEvent, item: any) {\r\n this.unselectItems(item);\r\n e.stopPropagation();\r\n }\r\n\r\n _handleBadgeRemove(e: MouseEvent, item) {\r\n this.unselectItems(item);\r\n e.stopPropagation();\r\n this.close();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n _handleKeydown(e: KeyboardEvent) {\r\n const isLetter = new RegExp(/[a-zA-Z0-9\\-]/).test(\r\n String.fromCharCode(e.keyCode)\r\n );\r\n if (\r\n e.code === 'Backspace' &&\r\n e.type === 'keydown' &&\r\n ((this.allowNull === true && this.selectedItems.length > 0) ||\r\n (this.allowNull !== true && this.selectedItems.length > 1))\r\n ) {\r\n this.isUserInput = true;\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n return;\r\n } else if (\r\n (e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Space') &&\r\n !this.popover.isOpen &&\r\n e.type === 'keydown'\r\n ) {\r\n if (this.multiple) {\r\n this.open();\r\n } else {\r\n this.isUserInput = true;\r\n if (e.ctrlKey || e.code === 'Space') {\r\n this.open();\r\n } else {\r\n this._selectedItemByNav(e.key === 'ArrowDown' ? 1 : -1);\r\n }\r\n }\r\n e.preventDefault();\r\n return;\r\n } else if (isLetter) {\r\n this.text = e.key;\r\n this.open();\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n _handlePopoverKeydown(e: KeyboardEvent) {\r\n if (\r\n (e.target as HTMLElement).tagName == 'INPUT' &&\r\n ['Space', 'Backspace'].includes(e.code)\r\n )\r\n return;\r\n if (\r\n (e.key === 'ArrowDown' || e.key === 'ArrowUp') &&\r\n this.displayItems.length > 0\r\n ) {\r\n this.isUserInput = true;\r\n this._focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\r\n e.preventDefault();\r\n } else if (\r\n e.code === 'Backspace' &&\r\n ((this.allowNull === true && this.selectedItems.length > 0) ||\r\n (this.allowNull !== true && this.selectedItems.length > 1))\r\n ) {\r\n this.isUserInput = true;\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n } else if (e.code === 'Space' || e.code === 'Enter') {\r\n e.preventDefault();\r\n const focusedItemId =\r\n this.listContainer.nativeElement.querySelector<HTMLElement>(\r\n '.ax-state-focus'\r\n )?.dataset?.id;\r\n const focusedItem = findLast(this.flatItems, [\r\n this.valueField,\r\n focusedItemId,\r\n ]);\r\n if (focusedItem) {\r\n if (this.isItemDisabled(focusedItem)) {\r\n return;\r\n }\r\n if (this.multiple) {\r\n this.isUserInput = true;\r\n this.toggleSelect(focusedItem);\r\n } else {\r\n this.isUserInput = true;\r\n this.selectItems(focusedItem);\r\n this.close();\r\n }\r\n }\r\n } else if (e.code === 'Tab') {\r\n this.close();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n } else if (e.key === 'Escape') {\r\n this.close();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n\r\n async _handlePopupOnOpened(e) {\r\n this.popover.focus();\r\n if (this.displayItems.length == 0) {\r\n this._forceFocus = true;\r\n this._fetchData();\r\n } else {\r\n this._focusSelectedItem();\r\n }\r\n this._focusSearchBox();\r\n }\r\n\r\n _handlePopupOnClosed(e) {\r\n this.focus();\r\n }\r\n\r\n private _focusSearchBox() {\r\n if (this._searchBox && (!this._isMobile || this._searchBox.searchExp)) {\r\n this._searchBox.focus();\r\n }\r\n }\r\n\r\n private _focusItemByNav(sign: -1 | 1): void {\r\n const list = this.listContainer.nativeElement;\r\n const fn = (s) => list.querySelector<HTMLElement>(s);\r\n const itemDiv: any =\r\n fn(`.ax-list-item.ax-state-focus`) ||\r\n fn(`.ax-list-item.ax-state-selected`) ||\r\n fn(`.ax-list-item`);\r\n let next = (\r\n sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling\r\n ) as HTMLElement;\r\n if (next) {\r\n this._focusItemElement(next);\r\n } else {\r\n const parent = itemDiv.closest('.ax-list-item-group');\r\n if (parent) {\r\n const lis = (\r\n sign == 1 ? parent.nextElementSibling : parent.previousElementSibling\r\n )?.querySelectorAll('li');\r\n const a = sign == 1 ? first(lis) : last(lis);\r\n if (a) {\r\n this._focusItemElement(a as any);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _focusSelectedItem() {\r\n this._zone.runOutsideAngular(() => {\r\n const list = this.listContainer.nativeElement;\r\n const fn = (s) => list.querySelector<HTMLElement>(s);\r\n const itemDiv =\r\n fn(`.ax-list-item.ax-state-selected`) || fn(`.ax-list-item`);\r\n if (itemDiv) {\r\n this._focusItemElement(itemDiv);\r\n }\r\n });\r\n }\r\n\r\n private _focusItemElement(el: HTMLElement) {\r\n this._zone.runOutsideAngular(() => {\r\n const list = this.listContainer.nativeElement;\r\n list.querySelectorAll('.ax-list-item').forEach((c) => {\r\n if (c == el) {\r\n c.classList.add('ax-state-focus');\r\n el.scrollIntoView({ behavior: 'auto' });\r\n } else {\r\n c.classList.remove('ax-state-focus');\r\n }\r\n });\r\n if (!this._isMobile && this._searchBox) this._searchBox.focus();\r\n else el.focus();\r\n });\r\n }\r\n\r\n private _selectedItemByNav(sign: -1 | 1): void {\r\n const _last:any = last(this.selectedItems);\r\n let i = 0;\r\n if (_last) {\r\n i = findLastIndex(this.flatItems, [\r\n this.valueField,\r\n _last[this.valueField],\r\n ]);\r\n }\r\n i += sign;\r\n let next = nth<any>(this.flatItems, i);\r\n while (next?.children && next?.children.length) {\r\n i += sign;\r\n next = nth<any>(this.flatItems, i);\r\n }\r\n if (next) {\r\n this.selectItems(next);\r\n } else if (next == null && sign == 1) {\r\n this._fetchData();\r\n }\r\n }\r\n\r\n search(exp: string) {\r\n this.empty();\r\n this._forceFocus = true;\r\n this._fetchData();\r\n }\r\n\r\n _fetchData() {\r\n super._fetchData({ searchQuery: this._searchBox?.searchExp });\r\n }\r\n}\r\n","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span class=\"ax-mx-4\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <div class=\"ax-flex ax-mx-2\">\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <ax-badge [text]=\"_getItemDisplayTextTemplte(item)\" color=\"light\" class=\"ax-me-2\">\r\n <ax-suffix>\r\n <ax-icon icon=\"ax-ic ax-ic-close ax-cursor-pointer\"\r\n (click)=\"_handleBadgeRemove($event,item)\"></ax-icon>\r\n </ax-suffix>\r\n </ax-badge>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\"> {{placeholder}}</div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-prefix *ngIf=\"(isLoading && !this.popover.isOpen);else icon\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ax-prefix>\r\n <ng-template #icon>\r\n <ax-icon icon=\"ax-ic ax-ic-chevron -ax-rotate-90 ax-transition-all\"\r\n [class.!ax-rotate-90]=\"isOpen\"></ax-icon>\r\n </ng-template>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane \" (keydown)=\"_handlePopoverKeydown($event)\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\" [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isMobile && placeholder\">\r\n <ax-title [text]=\"_popoverTitle\"></ax-title>\r\n <ax-close-button [icon]=\"multiple?'ax-ic-check !ax-text-primary-500':'ax-ic-close'\"></ax-close-button>\r\n </ax-header>\r\n <div class=\"ax-p-2\" [class.ax-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox!=null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"tmpTree; context:{ list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list;let i = index;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0;else tmpItem\">\r\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-check-box]=\"checkbox\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <input type=\"checkbox\" [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n *ngIf=\"checkbox\" [checked]=\"isItemSelected(item)\"\r\n [disabled]=\"isItemDisabled(item)\">\r\n <span class=\"ax-ms-2\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"'common.no-result-for' | trans:{exp:this._searchBox? this._searchBox.searchExp :''}\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>","import { AXTranslationModule } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXBadgeModule } from '@acorex/components/badge';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCheckBoxModule } from '@acorex/components/checkbox';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXPopoverModule } from '@acorex/components/popover';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { AXSelectBoxComponent } from './selectbox.component';\r\nimport { AXTextBoxModule } from '@acorex/components/textbox';\r\nimport { AXCommonModule } from '@acorex/components/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule,\r\n AXCommonModule,\r\n FormsModule,\r\n AXCheckBoxModule,\r\n AXBadgeModule,\r\n AXDecoratorModule,\r\n AXTranslationModule,\r\n AXPopoverModule,\r\n AXButtonModule,\r\n AXLoadingModule,\r\n A11yModule,\r\n AXTextBoxModule\r\n ],\r\n exports: [AXSelectBoxComponent],\r\n declarations: [AXSelectBoxComponent],\r\n providers: [],\r\n})\r\nexport class AXSelectBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-select-box.mjs","sources":["../../../../projects/acorex/components/select-box/src/selectbox.component.ts","../../../../projects/acorex/components/select-box/src/selectbox.component.html","../../../../projects/acorex/components/select-box/src/selectbox.module.ts","../../../../projects/acorex/components/select-box/acorex-components-select-box.ts"],"sourcesContent":["import { AXPlatform } from '@acorex/core/platform';\r\nimport { AXTranslator } from '@acorex/core/translation';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n NgZone,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { findLast, findLastIndex, first, last, nth } from 'lodash-es';\r\nimport {\r\n\r\n AXClickEvent,\r\n AXClosbaleComponent,\r\n AXSearchableComponent,\r\n} from '@acorex/components/common';\r\n\r\n\r\nimport { AXPopoverComponent } from '@acorex/components/popover';\r\nimport { AXSearchBoxComponent } from '@acorex/components/search-box';\r\nimport { AXBaseSelectionDropdownMixin } from '@acorex/components/mixin';\r\n\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-select-box',\r\n templateUrl: './selectbox.component.html',\r\n styleUrls: ['./selectbox.component.scss'],\r\n inputs: [\r\n 'isOpen', 'fitParent', 'dropdownWidth', 'position',\r\n 'disabled', 'tabIndex',\r\n 'readonly', 'allowNull', 'value', 'name', 'checked',\r\n 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly', 'allowNull', 'value', 'name', 'checked',\r\n 'pageSize', 'valueField', 'textField', 'items',\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'disabledCallback',\r\n 'multiple',\r\n 'selectionMode',\r\n ],\r\n outputs: [\r\n 'onOpened', 'onClosed',\r\n 'onBlur', 'onFocus',\r\n 'valueChange', 'onValueChanged',\r\n 'valueChange', 'onValueChanged',\r\n 'onValueChanged', 'valueChanged',\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },\r\n ],\r\n host: { class: 'ax-editor-container ax-drop-down' },\r\n})\r\nexport class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {\r\n @ViewChild(AXPopoverComponent, { static: true })\r\n popover: AXPopoverComponent;\r\n\r\n @ContentChild(AXSearchBoxComponent, { static: true })\r\n _searchBox: AXSearchBoxComponent;\r\n\r\n _target: HTMLDivElement;\r\n _popoverTitle: string;\r\n _popoverWidth: number;\r\n\r\n /**\r\n * Defines the clearButton.\r\n */\r\n @Input()\r\n clearButton: boolean = false;\r\n\r\n /**\r\n * Defines the checkbox.\r\n */\r\n @Input()\r\n checkbox: boolean = false;\r\n\r\n @ViewChild('listContainer', { static: true })\r\n private listContainer: ElementRef<HTMLDivElement>;\r\n\r\n @ContentChild('emptyTemplate')\r\n private _contentEmptyTemplate: TemplateRef<any>;\r\n\r\n get emptyTemplate(): TemplateRef<any> {\r\n return this._contentEmptyTemplate;\r\n }\r\n\r\n _isMobile: boolean = false;\r\n _forceFocus: boolean = false;\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n private _elementRef: ElementRef<HTMLDivElement>,\r\n private _cdr: ChangeDetectorRef,\r\n private _zone: NgZone,\r\n private _platform: AXPlatform\r\n ) {\r\n super(_elementRef, _cdr);\r\n this._isMobile = this._platform.is('Mobile');\r\n this._platform.resize.subscribe(() => {\r\n this._isMobile = this._platform.is('Mobile');\r\n this.popover.dispose();\r\n this._detectPopupSize();\r\n });\r\n }\r\n\r\n _handleArrowClickEvent(e: MouseEvent) {\r\n e.stopPropagation()\r\n // e.nativeEvent.stopPropagation();\r\n this.toggle();\r\n }\r\n\r\n _handleInputClickEvent(e: MouseEvent) {\r\n e.stopPropagation();\r\n this.toggle();\r\n }\r\n\r\n onInit() {\r\n super.onInit();\r\n this._target = this._elementRef.nativeElement;\r\n\r\n this._updatePopupTitle();\r\n }\r\n\r\n onViewInit() {\r\n super.onViewInit();\r\n this._detectPopupSize();\r\n }\r\n\r\n refresh() {\r\n this.value = null;\r\n super.refresh();\r\n }\r\n\r\n private _updatePopupTitle() {\r\n // const count =this.selectedItems?.length;\r\n // this._popoverTitle = count > 1 ? `(${count}) items selected`: this.placeholder || AXTranslator.get('selectbox.popover.title')\r\n this._popoverTitle =\r\n this.placeholder || AXTranslator.get('selectbox.popover.title');\r\n }\r\n\r\n\r\n private _detectPopupSize() {\r\n this._popoverWidth = this._isMobile ? 0 : this._target.offsetWidth;\r\n }\r\n\r\n _handleOnItemClick(e: MouseEvent, item: any) {\r\n if (this.isItemDisabled(item)) {\r\n return;\r\n }\r\n if (!this.multiple) this.close();\r\n this.toggleSelect(item);\r\n this._cdr.detectChanges();\r\n }\r\n\r\n _handleListScroll(e: Event) {\r\n const list = e.target as HTMLDivElement;\r\n if (list.scrollTop < list.scrollHeight - list.clientHeight) {\r\n return;\r\n }\r\n this._fetchData();\r\n }\r\n\r\n private _checkForLoadData() {\r\n const list: any = this.listContainer.nativeElement;\r\n if (\r\n this.loadedCount < this.totalCount &&\r\n list.scrollHeight < list.parentElement.clientHeight * 1.5\r\n ) {\r\n this._fetchData();\r\n }\r\n }\r\n\r\n _onDataLoaded() {\r\n if (this.popover.isOpen) {\r\n setTimeout(() => {\r\n this._checkForLoadData();\r\n this.popover.updatePosition();\r\n if (this._forceFocus) {\r\n this._focusSelectedItem();\r\n this._forceFocus = false;\r\n }\r\n this._focusSearchBox();\r\n }, 100);\r\n }\r\n }\r\n\r\n _onValueChanged(oldValue: any, newValue: any) {\r\n super._onValueChanged(oldValue, newValue);\r\n }\r\n\r\n _handleOnRemoveItemClick(e: MouseEvent, item: any) {\r\n this.unselectItems(item);\r\n e.stopPropagation();\r\n }\r\n\r\n _handleBadgeRemove(e: MouseEvent, item) {\r\n this.unselectItems(item);\r\n e.stopPropagation();\r\n this.close();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n _handleKeydown(e: KeyboardEvent) {\r\n const isLetter = new RegExp(/[a-zA-Z0-9\\-]/).test(\r\n String.fromCharCode(e.keyCode)\r\n );\r\n if (\r\n e.code === 'Backspace' &&\r\n e.type === 'keydown' &&\r\n ((this.allowNull === true && this.selectedItems.length > 0) ||\r\n (this.allowNull !== true && this.selectedItems.length > 1))\r\n ) {\r\n this.isUserInput = true;\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n return;\r\n } else if (\r\n (e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Space') &&\r\n !this.popover.isOpen &&\r\n e.type === 'keydown'\r\n ) {\r\n if (this.multiple) {\r\n this.open();\r\n } else {\r\n this.isUserInput = true;\r\n if (e.ctrlKey || e.code === 'Space') {\r\n this.open();\r\n } else {\r\n this._selectedItemByNav(e.key === 'ArrowDown' ? 1 : -1);\r\n }\r\n }\r\n e.preventDefault();\r\n return;\r\n } else if (isLetter) {\r\n this.text = e.key;\r\n this.open();\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n _handlePopoverKeydown(e: KeyboardEvent) {\r\n if (\r\n (e.target as HTMLElement).tagName == 'INPUT' &&\r\n ['Space', 'Backspace'].includes(e.code)\r\n )\r\n return;\r\n if (\r\n (e.key === 'ArrowDown' || e.key === 'ArrowUp') &&\r\n this.displayItems.length > 0\r\n ) {\r\n this.isUserInput = true;\r\n this._focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\r\n e.preventDefault();\r\n } else if (\r\n e.code === 'Backspace' &&\r\n ((this.allowNull === true && this.selectedItems.length > 0) ||\r\n (this.allowNull !== true && this.selectedItems.length > 1))\r\n ) {\r\n this.isUserInput = true;\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n } else if (e.code === 'Space' || e.code === 'Enter') {\r\n e.preventDefault();\r\n const focusedItemId =\r\n this.listContainer.nativeElement.querySelector<HTMLElement>(\r\n '.ax-state-focus'\r\n )?.dataset?.id;\r\n const focusedItem = findLast(this.flatItems, [\r\n this.valueField,\r\n focusedItemId,\r\n ]);\r\n if (focusedItem) {\r\n if (this.isItemDisabled(focusedItem)) {\r\n return;\r\n }\r\n if (this.multiple) {\r\n this.isUserInput = true;\r\n this.toggleSelect(focusedItem);\r\n } else {\r\n this.isUserInput = true;\r\n this.selectItems(focusedItem);\r\n this.close();\r\n }\r\n }\r\n } else if (e.code === 'Tab') {\r\n this.close();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n } else if (e.key === 'Escape') {\r\n this.close();\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n\r\n async _handlePopupOnOpened(e) {\r\n this._detectPopupSize();\r\n this.popover.focus();\r\n if (this.displayItems.length == 0) {\r\n this._forceFocus = true;\r\n this._fetchData();\r\n } else {\r\n this._focusSelectedItem();\r\n }\r\n this._focusSearchBox();\r\n }\r\n\r\n _handlePopupOnClosed(e) {\r\n this.focus();\r\n }\r\n\r\n private _focusSearchBox() {\r\n if (this._searchBox && (!this._isMobile || this._searchBox.searchExp)) {\r\n this._searchBox.focus();\r\n }\r\n }\r\n\r\n private _focusItemByNav(sign: -1 | 1): void {\r\n const list = this.listContainer.nativeElement;\r\n const fn = (s) => list.querySelector<HTMLElement>(s);\r\n const itemDiv: any =\r\n fn(`.ax-list-item.ax-state-focus`) ||\r\n fn(`.ax-list-item.ax-state-selected`) ||\r\n fn(`.ax-list-item`);\r\n let next = (\r\n sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling\r\n ) as HTMLElement;\r\n if (next) {\r\n this._focusItemElement(next);\r\n } else {\r\n const parent = itemDiv.closest('.ax-list-item-group');\r\n if (parent) {\r\n const lis = (\r\n sign == 1 ? parent.nextElementSibling : parent.previousElementSibling\r\n )?.querySelectorAll('li');\r\n const a = sign == 1 ? first(lis) : last(lis);\r\n if (a) {\r\n this._focusItemElement(a as any);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _focusSelectedItem() {\r\n this._zone.runOutsideAngular(() => {\r\n const list = this.listContainer.nativeElement;\r\n const fn = (s) => list.querySelector<HTMLElement>(s);\r\n const itemDiv =\r\n fn(`.ax-list-item.ax-state-selected`) || fn(`.ax-list-item`);\r\n if (itemDiv) {\r\n this._focusItemElement(itemDiv);\r\n }\r\n });\r\n }\r\n\r\n private _focusItemElement(el: HTMLElement) {\r\n this._zone.runOutsideAngular(() => {\r\n const list = this.listContainer.nativeElement;\r\n list.querySelectorAll('.ax-list-item').forEach((c) => {\r\n if (c == el) {\r\n c.classList.add('ax-state-focus');\r\n el.scrollIntoView({ behavior: 'auto' });\r\n } else {\r\n c.classList.remove('ax-state-focus');\r\n }\r\n });\r\n if (!this._isMobile && this._searchBox) this._searchBox.focus();\r\n else el.focus();\r\n });\r\n }\r\n\r\n private _selectedItemByNav(sign: -1 | 1): void {\r\n const _last: any = last(this.selectedItems);\r\n let i = 0;\r\n if (_last) {\r\n i = findLastIndex(this.flatItems, [\r\n this.valueField,\r\n _last[this.valueField],\r\n ]);\r\n }\r\n i += sign;\r\n let next = nth<any>(this.flatItems, i);\r\n while (next?.children && next?.children.length) {\r\n i += sign;\r\n next = nth<any>(this.flatItems, i);\r\n }\r\n if (next) {\r\n this.selectItems(next);\r\n } else if (next == null && sign == 1) {\r\n this._fetchData();\r\n }\r\n }\r\n\r\n search(exp: string) {\r\n this.empty();\r\n this._forceFocus = true;\r\n this._fetchData();\r\n }\r\n\r\n _fetchData() {\r\n super._fetchData({ searchQuery: this._searchBox?.searchExp });\r\n }\r\n}\r\n","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\r\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\r\n <ng-template #singleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #multipleSelectedTemplate>\r\n <ng-container *ngFor=\"let item of selectedItems\">\r\n <div class=\"ax-select-multi-item\">\r\n {{_getItemDisplayTextTemplte(item)}}\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event,item)\">\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #showPlaceholder>\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\"> {{placeholder}}</div>\r\n </ng-template>\r\n </div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"\r\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\r\n</ax-button>\r\n<button [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-control\"\r\n (click)=\"_handleArrowClickEvent($event)\">\r\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\r\n <ax-loading type=\"spinner\"></ax-loading>\r\n </ng-container>\r\n <ng-template #iconTemplate>\r\n <span class=\"ax-icon ax-icon-chevron-left ax-transition-all\" [ngClass]=\"{'-ax-rotate-90': !isOpen, 'ax-rotate-90':isOpen}\"></span>\r\n </ng-template>\r\n</button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" (keydown)=\"_handlePopoverKeydown($event)\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\" [class.ax-full]=\"_searchBox || isLazy\"\r\n [style.min-width.px]=\"_popoverWidth\">\r\n <div class=\"ax-list\">\r\n <ax-header *ngIf=\"_isMobile && placeholder\">\r\n <ax-title [text]=\"_popoverTitle\"></ax-title>\r\n <ax-close-button class=\"ax-icon\" [icon]=\"multiple?'ax-icon-done !ax-text-primary-500':'ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n <div class=\"ax-search-box-container\" [class.ax-state-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox!=null\">\r\n <ng-content select=\"ax-search-box\"></ng-content>\r\n </div>\r\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\"\r\n #listContainer>\r\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"tmpTree; context:{ list: displayItems }\">\r\n </ng-container>\r\n <ng-template #tmpTree let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list;let i = index;trackBy : _trackByFunction\">\r\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\r\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item,direction:direction}\">\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n <ng-template #defualtTemplate>\r\n <ng-container *ngIf=\"item.children?.length > 0;else tmpItem\">\r\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n <ul *ngIf=\"item.children?.length > 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"tmpTree; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-container>\r\n <ng-template #multipleTemplate>\r\n <li class=\"ax-list-item\" [class.ax-state-selected]=\"isItemSelected(item)\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\r\n [class.ax-check-box]=\"checkbox\" [attr.tabindex]=\"i\"\r\n (click)=\"_handleOnItemClick($event,item)\"\r\n [attr.data-id]=\"item[this.valueField]\">\r\n <input class=\"ax-checkbox\" type=\"checkbox\"\r\n [class.ax-state-disabled]=\"isItemDisabled(item)\" *ngIf=\"checkbox\"\r\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\">\r\n <span class=\"ax-ms-2\"> {{ _getItemDisplayTextTemplte(item) }}</span>\r\n </li>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngIf=\"isLoading\">\r\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\r\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseLoadingTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\r\n [innerHTML]=\"'common.no-result-for' | trans:{exp:this._searchBox? this._searchBox.searchExp :''}\">\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\r\n >\r\n \r\n </div> -->\r\n <!-- <div class=\"ax-footer\">footer</div> -->\r\n </div>\r\n </div>\r\n</ax-popover>","import { AXTranslationModule } from '@acorex/core/translation';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXBadgeModule } from '@acorex/components/badge';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCheckBoxModule } from '@acorex/components/checkbox';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { AXLoadingModule } from '@acorex/components/loading';\r\nimport { AXPopoverModule } from '@acorex/components/popover';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { AXSelectBoxComponent } from './selectbox.component';\r\nimport { AXTextBoxModule } from '@acorex/components/textbox';\r\nimport { AXCommonModule } from '@acorex/components/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule,\r\n AXCommonModule,\r\n FormsModule,\r\n AXCheckBoxModule,\r\n AXBadgeModule,\r\n AXDecoratorModule,\r\n AXTranslationModule,\r\n AXPopoverModule,\r\n AXButtonModule,\r\n AXLoadingModule,\r\n A11yModule,\r\n AXTextBoxModule\r\n ],\r\n exports: [AXSelectBoxComponent],\r\n declarations: [AXSelectBoxComponent],\r\n providers: [],\r\n})\r\nexport class AXSelectBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}