@f1falcha/stimulus 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/accordion/accordion-config.scss +18 -0
  2. package/accordion/accordion-item/accordion-item.component.d.ts +11 -0
  3. package/accordion/accordion-item-body/accordion-item-body.component.d.ts +10 -0
  4. package/accordion/accordion-item-header/accordion-item-header.component.d.ts +15 -0
  5. package/accordion/accordion.d.ts +12 -0
  6. package/accordion/accordion.icon.d.ts +3 -0
  7. package/accordion/accordion.scss +41 -0
  8. package/account-card/account-card-config.scss +36 -0
  9. package/account-card/account-card-header/account-card-header-config.scss +9 -0
  10. package/account-card/account-card-header/account-card-header.component.d.ts +12 -0
  11. package/account-card/account-card-header/account-card-header.scss +11 -0
  12. package/account-card/account-card.component.d.ts +16 -0
  13. package/account-card/account-card.scss +19 -0
  14. package/alert/alert-animation.d.ts +6 -0
  15. package/alert/alert-config.d.ts +26 -0
  16. package/alert/alert-config.scss +43 -0
  17. package/alert/alert-icon.d.ts +3 -0
  18. package/alert/alert-ref.d.ts +11 -0
  19. package/alert/alert.d.ts +23 -0
  20. package/alert/alert.scss +91 -0
  21. package/alert/alert.service.d.ts +31 -0
  22. package/avatar/avatar-config.scss +12 -0
  23. package/avatar/avatar.d.ts +21 -0
  24. package/avatar/avatar.scss +2 -0
  25. package/badge/badge-config.scss +68 -0
  26. package/badge/badge.d.ts +17 -0
  27. package/badge/badge.scss +21 -0
  28. package/bank-logo.provider.d.ts +7 -0
  29. package/bordered-section/bordered-section-config.scss +24 -0
  30. package/bordered-section/bordered-section.d.ts +15 -0
  31. package/bordered-section/bordered-section.scss +22 -0
  32. package/box-shadow/box-shadow-config.scss +18 -0
  33. package/button/button-config.scss +342 -0
  34. package/button/button.d.ts +10 -0
  35. package/button/button.scss +62 -0
  36. package/button-group/button-group-config.scss +12 -0
  37. package/button-group/button-group-header/button-group-header-config.scss +9 -0
  38. package/button-group/button-group-header/button-group-header.d.ts +8 -0
  39. package/button-group/button-group-header/button-group-header.scss +5 -0
  40. package/button-group/button-group.d.ts +11 -0
  41. package/button-group/buttton-group.scss +19 -0
  42. package/button-spinner/button-spinner-config.scss +15 -0
  43. package/button-spinner/button-spinner.scss +30 -0
  44. package/card/card-config.scss +15 -0
  45. package/card/card.component.d.ts +8 -0
  46. package/card/card.scss +14 -0
  47. package/chart/chart-config.scss +21 -0
  48. package/chart/chart.component.d.ts +21 -0
  49. package/chart/chart.component.scss +34 -0
  50. package/checkbox/checkbox-config.scss +62 -0
  51. package/checkbox/checkbox.scss +45 -0
  52. package/checkbox-dropdown/checkbox-dropdown.component.d.ts +139 -0
  53. package/checkbox-dropdown/checkbox-dropdown.component.scss +11 -0
  54. package/checkbox-dropdown/checkbox-dropdown.icon.d.ts +3 -0
  55. package/clipboard/clipboard-config.scss +23 -0
  56. package/clipboard/clipboard.component.d.ts +15 -0
  57. package/clipboard/clipboard.component.scss +37 -0
  58. package/clipboard/clipboard.icon.d.ts +3 -0
  59. package/color/cherry.scss +19 -0
  60. package/color/chilli.scss +19 -0
  61. package/color/comet.scss +19 -0
  62. package/color/cotton-candy.scss +19 -0
  63. package/color/default.scss +154 -0
  64. package/color/emerald.scss +19 -0
  65. package/color/goblin.scss +19 -0
  66. package/color/jacaranda.scss +19 -0
  67. package/color/mars.scss +19 -0
  68. package/color/orchid.scss +19 -0
  69. package/color/spaceship.scss +19 -0
  70. package/color/summer.scss +19 -0
  71. package/color/tiger-lily.scss +19 -0
  72. package/color-wrapper/color-wrapper-config.scss +37 -0
  73. package/color-wrapper/color-wrapper.d.ts +17 -0
  74. package/color-wrapper/color-wrapper.scss +23 -0
  75. package/column-seperator/column-separator-config.scss +16 -0
  76. package/column-seperator/column-separator.d.ts +14 -0
  77. package/column-seperator/column-separator.scss +25 -0
  78. package/column-text/column-text.config.scss +12 -0
  79. package/column-text/column-text.d.ts +11 -0
  80. package/column-text/column-text.scss +22 -0
  81. package/container/container-config.scss +12 -0
  82. package/container/container.component.d.ts +12 -0
  83. package/container/container.scss +19 -0
  84. package/custom-datepicker/custom-datepicker-config.scss +50 -0
  85. package/custom-datepicker/custom-datepicker.component.d.ts +80 -0
  86. package/custom-datepicker/custom-datepicker.component.scss +127 -0
  87. package/custom-datepicker/custom-datepicker.model.d.ts +18 -0
  88. package/custom-datepicker/datepicker.icon.d.ts +3 -0
  89. package/custom-datepicker/timepicker/timepicker.component.d.ts +37 -0
  90. package/custom-datepicker/timepicker/timepicker.component.scss +79 -0
  91. package/data-list/data-list.config.scss +35 -0
  92. package/data-list/data-list.d.ts +13 -0
  93. package/data-list/data-list.scss +67 -0
  94. package/date-range-picker/date-range-picker.d.ts +40 -0
  95. package/datepicker/datepicker.config.scss +0 -0
  96. package/datepicker/datepicker.d.ts +45 -0
  97. package/datepicker/datepicker.scss +0 -0
  98. package/datepicker-icon/datepicker-icon-config.scss +10 -0
  99. package/datepicker-icon/datepicker-icon.d.ts +6 -0
  100. package/datepicker-icon/datepicker-icon.scss +7 -0
  101. package/datepicker.provider.d.ts +2 -0
  102. package/detail-panel/detail-panel-config.scss +16 -0
  103. package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column-config.scss +11 -0
  104. package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.d.ts +6 -0
  105. package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.scss +15 -0
  106. package/detail-panel/detail-panel-row/detail-panel-row.d.ts +6 -0
  107. package/detail-panel/detail-panel-row/detail-panel-row.scss +5 -0
  108. package/detail-panel/detail-panel-title/detail-panel-title-config.scss +14 -0
  109. package/detail-panel/detail-panel-title/detail-panel-title.d.ts +7 -0
  110. package/detail-panel/detail-panel-title/detail-panel-title.scss +16 -0
  111. package/detail-panel/detail-panel.d.ts +11 -0
  112. package/detail-panel/detail-panel.scss +50 -0
  113. package/dialog/dialog-body/dialog-body.component.d.ts +6 -0
  114. package/dialog/dialog-config.scss +24 -0
  115. package/dialog/dialog-container/dialog-container-config.scss +9 -0
  116. package/dialog/dialog-container/dialog-container.component.d.ts +6 -0
  117. package/dialog/dialog-container/dialog-container.scss +6 -0
  118. package/dialog/dialog-footer/dialog-footer.component.d.ts +6 -0
  119. package/dialog/dialog-footer/dialog-footer.scss +6 -0
  120. package/dialog/dialog-header/dialog-header-config.scss +14 -0
  121. package/dialog/dialog-header/dialog-header.component.d.ts +10 -0
  122. package/dialog/dialog-header/dialog-header.scss +16 -0
  123. package/dialog/dialog-icon.d.ts +3 -0
  124. package/dialog/dialog.component.d.ts +12 -0
  125. package/dialog/dialog.scss +27 -0
  126. package/dialog.provider.d.ts +3 -0
  127. package/dialog.ref.d.ts +4 -0
  128. package/dialog.service.d.ts +7 -0
  129. package/dropdown/context-menu-config.scss +23 -0
  130. package/dropdown/context-menu-content/context-menu-content.d.ts +9 -0
  131. package/dropdown/context-menu-item.d.ts +10 -0
  132. package/dropdown/context-menu-list/context-menu-list.d.ts +9 -0
  133. package/dropdown/context-menu.d.ts +19 -0
  134. package/dropdown/context-menu.scss +41 -0
  135. package/error-page-container/error-content/error-content-config.scss +29 -0
  136. package/error-page-container/error-content/error-content.d.ts +24 -0
  137. package/error-page-container/error-content/error-content.scss +58 -0
  138. package/error-page-container/error-page-container.d.ts +6 -0
  139. package/error-page-container/error-page-container.scss +15 -0
  140. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +23 -0
  141. package/esm2022/accordion/accordion-item-body/accordion-item-body.component.mjs +18 -0
  142. package/esm2022/accordion/accordion-item-header/accordion-item-header.component.mjs +41 -0
  143. package/esm2022/accordion/accordion.icon.mjs +25 -0
  144. package/esm2022/accordion/accordion.mjs +14 -0
  145. package/esm2022/account-card/account-card-header/account-card-header.component.mjs +30 -0
  146. package/esm2022/account-card/account-card.component.mjs +64 -0
  147. package/esm2022/alert/alert-animation.mjs +9 -0
  148. package/esm2022/alert/alert-config.mjs +13 -0
  149. package/esm2022/alert/alert-icon.mjs +33 -0
  150. package/esm2022/alert/alert-ref.mjs +23 -0
  151. package/esm2022/alert/alert.mjs +50 -0
  152. package/esm2022/alert/alert.service.mjs +112 -0
  153. package/esm2022/avatar/avatar.mjs +91 -0
  154. package/esm2022/badge/badge.mjs +77 -0
  155. package/esm2022/bank-logo.provider.mjs +12 -0
  156. package/esm2022/bordered-section/bordered-section.mjs +70 -0
  157. package/esm2022/button/button.mjs +26 -0
  158. package/esm2022/button-group/button-group-header/button-group-header.mjs +24 -0
  159. package/esm2022/button-group/button-group.mjs +41 -0
  160. package/esm2022/card/card.component.mjs +28 -0
  161. package/esm2022/chart/chart.component.mjs +70 -0
  162. package/esm2022/checkbox-dropdown/checkbox-dropdown.component.mjs +232 -0
  163. package/esm2022/checkbox-dropdown/checkbox-dropdown.icon.mjs +14 -0
  164. package/esm2022/clipboard/clipboard.component.mjs +36 -0
  165. package/esm2022/clipboard/clipboard.icon.mjs +6 -0
  166. package/esm2022/color-wrapper/color-wrapper.mjs +82 -0
  167. package/esm2022/column-seperator/column-separator.mjs +62 -0
  168. package/esm2022/column-text/column-text.mjs +38 -0
  169. package/esm2022/container/container.component.mjs +46 -0
  170. package/esm2022/custom-datepicker/custom-datepicker.component.mjs +364 -0
  171. package/esm2022/custom-datepicker/custom-datepicker.model.mjs +12 -0
  172. package/esm2022/custom-datepicker/datepicker.icon.mjs +7 -0
  173. package/esm2022/custom-datepicker/timepicker/timepicker.component.mjs +195 -0
  174. package/esm2022/data-list/data-list.mjs +46 -0
  175. package/esm2022/date-range-picker/date-range-picker.mjs +207 -0
  176. package/esm2022/datepicker/datepicker.mjs +153 -0
  177. package/esm2022/datepicker-icon/datepicker-icon.mjs +18 -0
  178. package/esm2022/datepicker.provider.mjs +6 -0
  179. package/esm2022/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.mjs +15 -0
  180. package/esm2022/detail-panel/detail-panel-row/detail-panel-row.mjs +15 -0
  181. package/esm2022/detail-panel/detail-panel-title/detail-panel-title.mjs +19 -0
  182. package/esm2022/detail-panel/detail-panel.mjs +36 -0
  183. package/esm2022/dialog/dialog-body/dialog-body.component.mjs +16 -0
  184. package/esm2022/dialog/dialog-container/dialog-container.component.mjs +16 -0
  185. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +16 -0
  186. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +25 -0
  187. package/esm2022/dialog/dialog-icon.mjs +8 -0
  188. package/esm2022/dialog/dialog.component.mjs +36 -0
  189. package/esm2022/dialog.provider.mjs +5 -0
  190. package/esm2022/dialog.ref.mjs +4 -0
  191. package/esm2022/dialog.service.mjs +15 -0
  192. package/esm2022/dropdown/context-menu-content/context-menu-content.mjs +18 -0
  193. package/esm2022/dropdown/context-menu-item.mjs +28 -0
  194. package/esm2022/dropdown/context-menu-list/context-menu-list.mjs +18 -0
  195. package/esm2022/dropdown/context-menu.mjs +61 -0
  196. package/esm2022/error-page-container/error-content/error-content.mjs +49 -0
  197. package/esm2022/error-page-container/error-page-container.mjs +18 -0
  198. package/esm2022/extract-inital/extract-initial.mjs +21 -0
  199. package/esm2022/f1softinternational-stimulus.mjs +5 -0
  200. package/esm2022/file-uploader/file-uploader-icon.mjs +13 -0
  201. package/esm2022/file-uploader/file-uploader.mjs +274 -0
  202. package/esm2022/file-uploader/file-uploader.ref.mjs +3 -0
  203. package/esm2022/file-uploader/file-uploader.service.mjs +26 -0
  204. package/esm2022/filter/filter.mjs +173 -0
  205. package/esm2022/form/form-control/form-control-action.mjs +18 -0
  206. package/esm2022/form/form-control/form-control-icon.mjs +18 -0
  207. package/esm2022/form/form-control/form-field.mjs +86 -0
  208. package/esm2022/form/form-control-wrapper/form-control-wrapper.component.mjs +22 -0
  209. package/esm2022/form/form-error-messages.mjs +43 -0
  210. package/esm2022/form/form-message/form-message.mjs +30 -0
  211. package/esm2022/form/select-input-field/select-input-field.mjs +14 -0
  212. package/esm2022/form/validate-and-submit.mjs +54 -0
  213. package/esm2022/full-container/full-container.component.mjs +30 -0
  214. package/esm2022/grid/grid-item.component.mjs +24 -0
  215. package/esm2022/grid/grid.component.mjs +56 -0
  216. package/esm2022/grid-row/grid-row.mjs +18 -0
  217. package/esm2022/icon/icons.mjs +619 -0
  218. package/esm2022/image-card/illustration.pipe.mjs +57 -0
  219. package/esm2022/image-card/image-card.component.mjs +22 -0
  220. package/esm2022/image-panel/image-panel.component.mjs +88 -0
  221. package/esm2022/info-column/info-column.mjs +18 -0
  222. package/esm2022/info-slider/info-slider.component.mjs +50 -0
  223. package/esm2022/inline-alert/inline-alert.mjs +51 -0
  224. package/esm2022/inline-group/inline-group.component.mjs +32 -0
  225. package/esm2022/input/input.mjs +25 -0
  226. package/esm2022/label/label.mjs +18 -0
  227. package/esm2022/layout/layout.component.mjs +23 -0
  228. package/esm2022/link/link.mjs +79 -0
  229. package/esm2022/media-preview/media-preview-icon.mjs +41 -0
  230. package/esm2022/media-preview/media-preview-modal/media-preview-modal.mjs +128 -0
  231. package/esm2022/media-preview/media-preview.mjs +131 -0
  232. package/esm2022/media-preview/media_preview.service.mjs +31 -0
  233. package/esm2022/menu/menu-icon.mjs +29 -0
  234. package/esm2022/menu/menu.component.mjs +151 -0
  235. package/esm2022/nebular-icon.mjs +179 -0
  236. package/esm2022/otp-input/otp-input.component.mjs +106 -0
  237. package/esm2022/otp-input/otp-input.icon.mjs +13 -0
  238. package/esm2022/page-container/page-container-info/page-container-info.component.mjs +28 -0
  239. package/esm2022/page-container/page-container.component.mjs +63 -0
  240. package/esm2022/page-header/page-header.component.mjs +47 -0
  241. package/esm2022/page-header/page-header.icons.mjs +8 -0
  242. package/esm2022/page-header/page-sub-heading/page-sub-heading.component.mjs +12 -0
  243. package/esm2022/page-loader/page-loader.component.mjs +47 -0
  244. package/esm2022/pagination/pagination.icon.mjs +11 -0
  245. package/esm2022/pagination/pagination.mjs +170 -0
  246. package/esm2022/popover-content/popover-content-item/popover-content-item.component.mjs +15 -0
  247. package/esm2022/popover-content/popover-content.component.mjs +23 -0
  248. package/esm2022/preview-box/preview-box.component.mjs +73 -0
  249. package/esm2022/progress-bar/progress-bar.component.mjs +31 -0
  250. package/esm2022/progress-chart/progress-chart.component.mjs +87 -0
  251. package/esm2022/public-api.mjs +141 -0
  252. package/esm2022/radio-card-group/radio-card/radio-card.component.mjs +86 -0
  253. package/esm2022/radio-card-group/radio-card-group.component.mjs +61 -0
  254. package/esm2022/regex-checker/regex-checker-icon.mjs +18 -0
  255. package/esm2022/regex-checker/regex-checker.mjs +77 -0
  256. package/esm2022/regex-checker/regex-validity-icon.pipe.mjs +25 -0
  257. package/esm2022/ribbon/ribbon-icon.mjs +8 -0
  258. package/esm2022/ribbon/ribbon.mjs +37 -0
  259. package/esm2022/round-checkbox/round-checkbox.component.mjs +43 -0
  260. package/esm2022/row/column/column.component.mjs +19 -0
  261. package/esm2022/row/row.component.mjs +32 -0
  262. package/esm2022/scrollable-content/scrollable-content.component.mjs +22 -0
  263. package/esm2022/section-header/section-header.component.mjs +29 -0
  264. package/esm2022/section-row/section-row.mjs +35 -0
  265. package/esm2022/section-separator/section-separator.mjs +69 -0
  266. package/esm2022/section-shell/section-shell.component.mjs +45 -0
  267. package/esm2022/select/select.component.mjs +137 -0
  268. package/esm2022/select-card/select-card-icon.mjs +24 -0
  269. package/esm2022/select-card/select-card.component.mjs +117 -0
  270. package/esm2022/select-country/select-country.component.mjs +86 -0
  271. package/esm2022/shell/checker-sidebar/checker-sidebar.component.mjs +19 -0
  272. package/esm2022/shell/maker-sidebar/maker-sidebar.component.mjs +19 -0
  273. package/esm2022/shell/nebular-icons.mjs +180 -0
  274. package/esm2022/shell/shell-icons.mjs +474 -0
  275. package/esm2022/shell/shell-sidebar/shell-sidebar.component.mjs +38 -0
  276. package/esm2022/shell/shell.component.mjs +77 -0
  277. package/esm2022/side-drawer/side-drawer.mjs +15 -0
  278. package/esm2022/side-drawer/side-drawer.service.mjs +71 -0
  279. package/esm2022/size/component-size.mjs +2 -0
  280. package/esm2022/spinner/spinner.mjs +32 -0
  281. package/esm2022/stepper/step/step.mjs +20 -0
  282. package/esm2022/stepper/step/step.pipe.mjs +21 -0
  283. package/esm2022/stepper/step-header/step-header.mjs +29 -0
  284. package/esm2022/stepper/stepper-button/stepper-next.mjs +21 -0
  285. package/esm2022/stepper/stepper-button/stepper-previous.mjs +21 -0
  286. package/esm2022/stepper/stepper.mjs +56 -0
  287. package/esm2022/stimulus.module.mjs +891 -0
  288. package/esm2022/table/table-column/scl-table-column.mjs +54 -0
  289. package/esm2022/table/table-icon.mjs +13 -0
  290. package/esm2022/table/table-text/scl-table-text.mjs +51 -0
  291. package/esm2022/table/table.config.mjs +15 -0
  292. package/esm2022/table/table.mjs +186 -0
  293. package/esm2022/table-action-control/table-action-control.component.mjs +20 -0
  294. package/esm2022/tabset/tab/tab.component.mjs +29 -0
  295. package/esm2022/tabset/tab-directive/tabset.directive.mjs +22 -0
  296. package/esm2022/tabset/tabset.component.mjs +40 -0
  297. package/esm2022/taglist/tag/tag.component.mjs +51 -0
  298. package/esm2022/taglist/tag/tag.directive.mjs +30 -0
  299. package/esm2022/taglist/taglist.component.mjs +39 -0
  300. package/esm2022/text-decoration/text-decoration.component.mjs +26 -0
  301. package/esm2022/text-editor/text-editor.mjs +263 -0
  302. package/esm2022/theme.provider.mjs +9 -0
  303. package/esm2022/timeline/timeline.component.mjs +66 -0
  304. package/esm2022/timepicker/timepicker.component.mjs +377 -0
  305. package/esm2022/timepicker/timepicker.icon.mjs +7 -0
  306. package/esm2022/timepicker/timepicker.model.mjs +6 -0
  307. package/esm2022/toggle/toggle-description/toggle-description.mjs +18 -0
  308. package/esm2022/toggle/toggle.mjs +75 -0
  309. package/esm2022/toggle-password/toggle-password.component.mjs +54 -0
  310. package/esm2022/toggle-password/toggle-password.directive.mjs +26 -0
  311. package/esm2022/toggle-password/toggle-password.icon.mjs +13 -0
  312. package/esm2022/treeview/treeview-header/treeview-header.mjs +26 -0
  313. package/esm2022/treeview/treeview.icon.mjs +53 -0
  314. package/esm2022/treeview/treeview.mjs +319 -0
  315. package/esm2022/truncate/truncate.component.mjs +53 -0
  316. package/esm2022/typography/typography.mjs +168 -0
  317. package/extract-inital/extract-initial.d.ts +8 -0
  318. package/f1softinternational-stimulus-1.0.0.tgz +0 -0
  319. package/fesm2022/f1softinternational-stimulus.mjs +10275 -0
  320. package/file-uploader/file-upload-config.scss +48 -0
  321. package/file-uploader/file-upload.scss +77 -0
  322. package/file-uploader/file-uploader-icon.d.ts +3 -0
  323. package/file-uploader/file-uploader.d.ts +84 -0
  324. package/file-uploader/file-uploader.ref.d.ts +6 -0
  325. package/file-uploader/file-uploader.service.d.ts +11 -0
  326. package/filter/filter.d.ts +48 -0
  327. package/flag/_flags.scss +9 -0
  328. package/form/form-config.scss +14 -0
  329. package/form/form-control/form-control-action.d.ts +6 -0
  330. package/form/form-control/form-control-config.scss +9 -0
  331. package/form/form-control/form-control-icon.d.ts +6 -0
  332. package/form/form-control/form-control.scss +17 -0
  333. package/form/form-control/form-field.d.ts +26 -0
  334. package/form/form-control-wrapper/form-control-wrapper-config.scss +11 -0
  335. package/form/form-control-wrapper/form-control-wrapper.component.d.ts +8 -0
  336. package/form/form-control-wrapper/form-control-wrapper.scss +17 -0
  337. package/form/form-error-messages.d.ts +8 -0
  338. package/form/form-message/form-message-config.scss +7 -0
  339. package/form/form-message/form-message.d.ts +15 -0
  340. package/form/form-message/form-message.scss +6 -0
  341. package/form/form.scss +22 -0
  342. package/form/select-input-field/select-input-field-config.scss +13 -0
  343. package/form/select-input-field/select-input-field.d.ts +6 -0
  344. package/form/select-input-field/select-input-field.scss +43 -0
  345. package/form/validate-and-submit.d.ts +14 -0
  346. package/full-container/full-container-config.scss +16 -0
  347. package/full-container/full-container.component.d.ts +11 -0
  348. package/full-container/full-container.component.scss +54 -0
  349. package/grid/grid-config.scss +14 -0
  350. package/grid/grid-item.component.d.ts +8 -0
  351. package/grid/grid.component.d.ts +10 -0
  352. package/grid/grid.component.scss +26 -0
  353. package/grid-row/grid-row.config.scss +9 -0
  354. package/grid-row/grid-row.d.ts +6 -0
  355. package/grid-row/grid-row.scss +7 -0
  356. package/icon/icon.config.scss +9 -0
  357. package/icon/icon.scss +9 -0
  358. package/icon/icons.d.ts +3 -0
  359. package/image-card/illustration.pipe.d.ts +8 -0
  360. package/image-card/image-card-config.scss +29 -0
  361. package/image-card/image-card.component.d.ts +8 -0
  362. package/image-card/image-card.scss +37 -0
  363. package/image-panel/image-panel-config.scss +30 -0
  364. package/image-panel/image-panel.component.d.ts +26 -0
  365. package/image-panel/image-panel.component.scss +80 -0
  366. package/index.d.ts +6 -0
  367. package/info-column/info-column-config.scss +14 -0
  368. package/info-column/info-column.d.ts +7 -0
  369. package/info-column/info-column.scss +17 -0
  370. package/info-slider/info-slider-config.scss +10 -0
  371. package/info-slider/info-slider.component.d.ts +16 -0
  372. package/info-slider/info-slider.component.scss +21 -0
  373. package/inline-alert/inline-alert-config.scss +12 -0
  374. package/inline-alert/inline-alert.d.ts +20 -0
  375. package/inline-alert/inline-alert.scss +16 -0
  376. package/inline-group/inline-group.component.d.ts +10 -0
  377. package/inline-group/inline-group.component.scss +15 -0
  378. package/input/input-config.scss +57 -0
  379. package/input/input.d.ts +10 -0
  380. package/input/input.scss +68 -0
  381. package/label/label-config.scss +13 -0
  382. package/label/label.d.ts +6 -0
  383. package/label/label.scss +10 -0
  384. package/layout/layout.component.d.ts +9 -0
  385. package/link/link-config.scss +89 -0
  386. package/link/link.d.ts +19 -0
  387. package/link/link.scss +157 -0
  388. package/media-preview/media-preview-config.scss +15 -0
  389. package/media-preview/media-preview-icon.d.ts +3 -0
  390. package/media-preview/media-preview-modal/media-preview-modal.d.ts +31 -0
  391. package/media-preview/media-preview-modal/media-preview-modal.scss +148 -0
  392. package/media-preview/media-preview-modal/media-previw-modal-config.scss +44 -0
  393. package/media-preview/media-preview.d.ts +48 -0
  394. package/media-preview/media-preview.scss +59 -0
  395. package/media-preview/media_preview.service.d.ts +16 -0
  396. package/menu/menu-config.scss +33 -0
  397. package/menu/menu-icon.d.ts +3 -0
  398. package/menu/menu.component.d.ts +47 -0
  399. package/menu/menu.component.scss +80 -0
  400. package/nebular-icon.d.ts +3 -0
  401. package/otp-input/otp-input-config.scss +22 -0
  402. package/otp-input/otp-input.component.d.ts +33 -0
  403. package/otp-input/otp-input.component.scss +52 -0
  404. package/otp-input/otp-input.icon.d.ts +3 -0
  405. package/package.json +57 -0
  406. package/page-container/page-container-config.scss +9 -0
  407. package/page-container/page-container-info/page-container-info-config.scss +9 -0
  408. package/page-container/page-container-info/page-container-info.component.d.ts +10 -0
  409. package/page-container/page-container-info/page-container-info.scss +6 -0
  410. package/page-container/page-container.component.d.ts +14 -0
  411. package/page-container/page-container.component.scss +11 -0
  412. package/page-header/page-header-config.scss +28 -0
  413. package/page-header/page-header.component.d.ts +18 -0
  414. package/page-header/page-header.component.scss +37 -0
  415. package/page-header/page-header.icons.d.ts +3 -0
  416. package/page-header/page-sub-heading/page-sub-heading.component.d.ts +6 -0
  417. package/page-loader/page-loader-config.scss +23 -0
  418. package/page-loader/page-loader.component.d.ts +13 -0
  419. package/page-loader/page-loader.component.scss +44 -0
  420. package/pagination/pagination-config.scss +24 -0
  421. package/pagination/pagination.d.ts +47 -0
  422. package/pagination/pagination.icon.d.ts +3 -0
  423. package/pagination/pagination.scss +67 -0
  424. package/popover-content/popover-content-item/popover-content-item-config.scss +22 -0
  425. package/popover-content/popover-content-item/popover-content-item.component.d.ts +6 -0
  426. package/popover-content/popover-content-item/popover-content-item.scss +36 -0
  427. package/popover-content/popover-content.component.d.ts +14 -0
  428. package/preview-box/preview-box-config.scss +52 -0
  429. package/preview-box/preview-box.component.d.ts +31 -0
  430. package/preview-box/preview-box.component.scss +101 -0
  431. package/progress-bar/progress-bar-config.scss +14 -0
  432. package/progress-bar/progress-bar.component.d.ts +10 -0
  433. package/progress-bar/progress-bar.component.scss +13 -0
  434. package/progress-chart/progress-chart-config.scss +15 -0
  435. package/progress-chart/progress-chart.component.d.ts +21 -0
  436. package/progress-chart/progress-chart.component.scss +41 -0
  437. package/public-api.d.ts +135 -0
  438. package/radio-button/radio-button-config.scss +47 -0
  439. package/radio-button/radio-button.scss +89 -0
  440. package/radio-card-group/radio-card/radio-card-config.scss +31 -0
  441. package/radio-card-group/radio-card/radio-card.component.d.ts +30 -0
  442. package/radio-card-group/radio-card/radio-card.component.scss +88 -0
  443. package/radio-card-group/radio-card-group-config.scss +9 -0
  444. package/radio-card-group/radio-card-group.component.d.ts +20 -0
  445. package/radio-card-group/radio-card-group.scss +7 -0
  446. package/regex-checker/regex-checker-config.scss +24 -0
  447. package/regex-checker/regex-checker-icon.d.ts +3 -0
  448. package/regex-checker/regex-checker.d.ts +29 -0
  449. package/regex-checker/regex-checker.scss +38 -0
  450. package/regex-checker/regex-validity-icon.pipe.d.ts +8 -0
  451. package/ribbon/ribbon-config.scss +21 -0
  452. package/ribbon/ribbon-icon.d.ts +3 -0
  453. package/ribbon/ribbon.d.ts +14 -0
  454. package/ribbon/ribbon.scss +29 -0
  455. package/round-checkbox/round-checkbox-config.scss +15 -0
  456. package/round-checkbox/round-checkbox.component.d.ts +16 -0
  457. package/round-checkbox/round-checkbox.component.scss +23 -0
  458. package/row/column/column.component.d.ts +9 -0
  459. package/row/row-config.scss +10 -0
  460. package/row/row.component.d.ts +9 -0
  461. package/row/row.scss +22 -0
  462. package/scrollable-content/scrollable-content-config.scss +11 -0
  463. package/scrollable-content/scrollable-content.component.d.ts +8 -0
  464. package/scrollable-content/scrollable-content.component.scss +28 -0
  465. package/section-header/section-header-config.scss +18 -0
  466. package/section-header/section-header.component.d.ts +9 -0
  467. package/section-header/section-header.component.scss +32 -0
  468. package/section-row/section-row-config.scss +9 -0
  469. package/section-row/section-row.d.ts +9 -0
  470. package/section-row/section-row.scss +23 -0
  471. package/section-separator/section-separator-config.scss +19 -0
  472. package/section-separator/section-separator.d.ts +15 -0
  473. package/section-separator/section-separator.scss +28 -0
  474. package/section-shell/section-shell-config.scss +23 -0
  475. package/section-shell/section-shell.component.d.ts +12 -0
  476. package/section-shell/section-shell.component.scss +30 -0
  477. package/select/select-config.scss +78 -0
  478. package/select/select.component.d.ts +44 -0
  479. package/select/select.scss +174 -0
  480. package/select-card/select-card-config.scss +32 -0
  481. package/select-card/select-card-icon.d.ts +3 -0
  482. package/select-card/select-card.component.d.ts +38 -0
  483. package/select-card/select-card.component.scss +66 -0
  484. package/select-country/select-country-config.scss +10 -0
  485. package/select-country/select-country.component.d.ts +33 -0
  486. package/select-country/select-country.component.scss +34 -0
  487. package/shell/checker-sidebar/checker-sidebar-config.scss +21 -0
  488. package/shell/checker-sidebar/checker-sidebar.component.d.ts +8 -0
  489. package/shell/checker-sidebar/checker-sidebar.component.scss +34 -0
  490. package/shell/maker-sidebar/maker-sidebar-config.scss +21 -0
  491. package/shell/maker-sidebar/maker-sidebar.component.d.ts +8 -0
  492. package/shell/maker-sidebar/maker-sidebar.component.scss +34 -0
  493. package/shell/nebular-icons.d.ts +3 -0
  494. package/shell/shell-config.component.scss +25 -0
  495. package/shell/shell-icons.d.ts +3 -0
  496. package/shell/shell-sidebar/shell-sidebar-config.scss +43 -0
  497. package/shell/shell-sidebar/shell-sidebar.component.d.ts +14 -0
  498. package/shell/shell-sidebar/shell-sidebar.component.scss +106 -0
  499. package/shell/shell-sidebar-menu/shell-sidebar-menu-config.scss +56 -0
  500. package/shell/shell-sidebar-menu/shell-sidebar-menu.scss +76 -0
  501. package/shell/shell.component.d.ts +21 -0
  502. package/shell/shell.component.scss +55 -0
  503. package/side-drawer/side-drawer-config.scss +20 -0
  504. package/side-drawer/side-drawer.d.ts +8 -0
  505. package/side-drawer/side-drawer.scss +52 -0
  506. package/side-drawer/side-drawer.service.d.ts +20 -0
  507. package/size/component-size.d.ts +2 -0
  508. package/spinner/spinner.d.ts +11 -0
  509. package/stepper/step/step.d.ts +8 -0
  510. package/stepper/step/step.pipe.d.ts +8 -0
  511. package/stepper/step-header/step-header.d.ts +12 -0
  512. package/stepper/stepper-button/stepper-next.d.ts +7 -0
  513. package/stepper/stepper-button/stepper-previous.d.ts +7 -0
  514. package/stepper/stepper.config.scss +37 -0
  515. package/stepper/stepper.d.ts +19 -0
  516. package/stepper/stepper.scss +149 -0
  517. package/stimulus-config.scss +98 -0
  518. package/stimulus.module.d.ts +136 -0
  519. package/stimulus.scss +107 -0
  520. package/table/table-column/scl-table-column.d.ts +26 -0
  521. package/table/table-config.scss +63 -0
  522. package/table/table-icon.d.ts +3 -0
  523. package/table/table-text/scl-table-text.d.ts +13 -0
  524. package/table/table.config.d.ts +19 -0
  525. package/table/table.d.ts +58 -0
  526. package/table/table.scss +232 -0
  527. package/table-action-control/table-action-control-config.scss +12 -0
  528. package/table-action-control/table-action-control.component.d.ts +8 -0
  529. package/table-action-control/table-action-control.component.scss +14 -0
  530. package/tabset/route-tab/route-tab-config.scss +30 -0
  531. package/tabset/route-tab/route-tab.scss +44 -0
  532. package/tabset/tab/tab.component.d.ts +9 -0
  533. package/tabset/tab-directive/tabset-config.scss +49 -0
  534. package/tabset/tab-directive/tabset.directive.d.ts +7 -0
  535. package/tabset/tab-directive/tabset.scss +154 -0
  536. package/tabset/tabset.component.d.ts +14 -0
  537. package/tabset/tabset.component.scss +79 -0
  538. package/taglist/tag/tag-config.scss +30 -0
  539. package/taglist/tag/tag.component.d.ts +17 -0
  540. package/taglist/tag/tag.directive.d.ts +16 -0
  541. package/taglist/tag/tag.scss +43 -0
  542. package/taglist/taglist.component.d.ts +12 -0
  543. package/text-decoration/text-decoration.component.d.ts +9 -0
  544. package/text-decoration/text-decoration.scss +7 -0
  545. package/text-editor/text-editor.config.scss +23 -0
  546. package/text-editor/text-editor.d.ts +60 -0
  547. package/text-editor/text-editor.scss +74 -0
  548. package/theme.provider.d.ts +2 -0
  549. package/timeline/timeline-config.scss +49 -0
  550. package/timeline/timeline.component.d.ts +26 -0
  551. package/timeline/timeline.component.scss +126 -0
  552. package/timepicker/timepicker-config.scss +41 -0
  553. package/timepicker/timepicker.component.d.ts +74 -0
  554. package/timepicker/timepicker.component.scss +111 -0
  555. package/timepicker/timepicker.icon.d.ts +3 -0
  556. package/timepicker/timepicker.model.d.ts +13 -0
  557. package/toggle/toggle-config.scss +51 -0
  558. package/toggle/toggle-description/toggle-description.d.ts +6 -0
  559. package/toggle/toggle.d.ts +19 -0
  560. package/toggle/toggle.scss +31 -0
  561. package/toggle-password/toggle-password-config.scss +12 -0
  562. package/toggle-password/toggle-password.component.d.ts +21 -0
  563. package/toggle-password/toggle-password.directive.d.ts +13 -0
  564. package/toggle-password/toggle-password.icon.d.ts +3 -0
  565. package/toggle-password/toggle-password.scss +16 -0
  566. package/treeview/treeview-config.scss +86 -0
  567. package/treeview/treeview-header/treeview-header.d.ts +12 -0
  568. package/treeview/treeview.d.ts +66 -0
  569. package/treeview/treeview.icon.d.ts +3 -0
  570. package/treeview/treeview.scss +278 -0
  571. package/truncate/truncate.component.d.ts +16 -0
  572. package/truncate/truncate.scss +18 -0
  573. package/typography/font.scss +28 -0
  574. package/typography/typography-config.scss +73 -0
  575. package/typography/typography.d.ts +37 -0
  576. package/typography/typography.scss +47 -0
@@ -0,0 +1,69 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { Directive, HostBinding, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ class SclSectionSeparator {
5
+ constructor() {
6
+ this.line = 'false';
7
+ }
8
+ get addLine() {
9
+ return coerceBooleanProperty(this.line);
10
+ }
11
+ get micro() {
12
+ return this.gap === 'micro';
13
+ }
14
+ get tiny() {
15
+ return this.gap === 'tiny';
16
+ }
17
+ get small() {
18
+ return this.gap === 'small';
19
+ }
20
+ get medium() {
21
+ return this.gap === 'medium';
22
+ }
23
+ get large() {
24
+ return this.gap === 'large';
25
+ }
26
+ get giant() {
27
+ return this.gap === 'giant';
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SclSectionSeparator, isStandalone: true, selector: "section[gap]", inputs: { gap: "gap", line: "line" }, host: { properties: { "class.scl-section-line": "this.addLine", "class.scl-section-separator--micro": "this.micro", "class.scl-section-separator--tiny": "this.tiny", "class.scl-section-separator--small": "this.small", "class.scl-section-separator--medium": "this.medium", "class.scl-section-separator--large": "this.large", "class.scl-section-separator--giant": "this.giant" }, classAttribute: "scl-section-separator" }, ngImport: i0 }); }
31
+ }
32
+ export { SclSectionSeparator };
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionSeparator, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: 'section[gap]',
37
+ standalone: true,
38
+ host: {
39
+ class: 'scl-section-separator',
40
+ },
41
+ }]
42
+ }], propDecorators: { gap: [{
43
+ type: Input,
44
+ args: [{ required: true }]
45
+ }], line: [{
46
+ type: Input
47
+ }], addLine: [{
48
+ type: HostBinding,
49
+ args: ['class.scl-section-line']
50
+ }], micro: [{
51
+ type: HostBinding,
52
+ args: ['class.scl-section-separator--micro']
53
+ }], tiny: [{
54
+ type: HostBinding,
55
+ args: ['class.scl-section-separator--tiny']
56
+ }], small: [{
57
+ type: HostBinding,
58
+ args: ['class.scl-section-separator--small']
59
+ }], medium: [{
60
+ type: HostBinding,
61
+ args: ['class.scl-section-separator--medium']
62
+ }], large: [{
63
+ type: HostBinding,
64
+ args: ['class.scl-section-separator--large']
65
+ }], giant: [{
66
+ type: HostBinding,
67
+ args: ['class.scl-section-separator--giant']
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZXMvc2VjdGlvbi1zZXBhcmF0b3Ivc2VjdGlvbi1zZXBhcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5RCxNQU9hLG1CQUFtQjtJQVBoQztRQVVhLFNBQUksR0FBWSxPQUFPLENBQUM7S0FvQ3BDO0lBbENHLElBQ0ksT0FBTztRQUNQLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDO0lBQ2hDLENBQUM7OEdBdENRLG1CQUFtQjtrR0FBbkIsbUJBQW1COztTQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsdUJBQXVCO3FCQUNqQztpQkFDSjs4QkFFOEIsR0FBRztzQkFBN0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLElBQUk7c0JBQVosS0FBSztnQkFHRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsd0JBQXdCO2dCQU1qQyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU03QyxJQUFJO3NCQURQLFdBQVc7dUJBQUMsbUNBQW1DO2dCQU01QyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU03QyxNQUFNO3NCQURULFdBQVc7dUJBQUMscUNBQXFDO2dCQU05QyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU03QyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnc2VjdGlvbltnYXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdzY2wtc2VjdGlvbi1zZXBhcmF0b3InLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbFNlY3Rpb25TZXBhcmF0b3Ige1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGdhcCE6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGxpbmU/OiBzdHJpbmcgPSAnZmFsc2UnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1saW5lJylcbiAgICBnZXQgYWRkTGluZSgpIHtcbiAgICAgICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmxpbmUpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2NsLXNlY3Rpb24tc2VwYXJhdG9yLS1taWNybycpXG4gICAgZ2V0IG1pY3JvKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nYXAgPT09ICdtaWNybyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1zZXBhcmF0b3ItLXRpbnknKVxuICAgIGdldCB0aW55KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nYXAgPT09ICd0aW55JztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjbC1zZWN0aW9uLXNlcGFyYXRvci0tc21hbGwnKVxuICAgIGdldCBzbWFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FwID09PSAnc21hbGwnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2NsLXNlY3Rpb24tc2VwYXJhdG9yLS1tZWRpdW0nKVxuICAgIGdldCBtZWRpdW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhcCA9PT0gJ21lZGl1bSc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1zZXBhcmF0b3ItLWxhcmdlJylcbiAgICBnZXQgbGFyZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhcCA9PT0gJ2xhcmdlJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjbC1zZWN0aW9uLXNlcGFyYXRvci0tZ2lhbnQnKVxuICAgIGdldCBnaWFudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FwID09PSAnZ2lhbnQnO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, HostBinding, Input } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { NbCardModule, NbMenuModule, NbSidebarService } from '@nebular/theme';
5
+ import { SclMenuComponent } from '../menu/menu.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "@nebular/theme";
9
+ class SclSectionShellComponent {
10
+ constructor() {
11
+ this.items = [];
12
+ }
13
+ get front() {
14
+ return this.iconPosition === 'front';
15
+ }
16
+ get center() {
17
+ return this.iconPosition === 'center';
18
+ }
19
+ get back() {
20
+ return this.iconPosition === 'back';
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSectionShellComponent, isStandalone: true, selector: "scl-section-shell", inputs: { items: "items", iconPosition: "iconPosition" }, host: { properties: { "class.scl-section-shell--front": "this.front", "class.scl-section-shell--center": "this.center", "class.scl-section-shell--back": "this.back" }, classAttribute: "scl-section-shell" }, providers: [NbSidebarService], ngImport: i0, template: "<aside>\n <nb-card class=\"scl-section-shell__sidebar\">\n <ng-content select=\"scl-sidebar-header\"></ng-content>\n <scl-menu [items]=\"items\"></scl-menu>\n </nb-card>\n</aside>\n\n<section class=\"scl-section-shell__content\">\n <router-outlet></router-outlet>\n <ng-content></ng-content>\n</section>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NbMenuModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: SclMenuComponent, selector: "scl-menu", inputs: ["items"] }, { kind: "ngmodule", type: NbCardModule }, { kind: "component", type: i2.NbCardComponent, selector: "nb-card", inputs: ["size", "status", "accent"] }] }); }
24
+ }
25
+ export { SclSectionShellComponent };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSectionShellComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'scl-section-shell', standalone: true, imports: [CommonModule, NbMenuModule, RouterModule, SclMenuComponent, NbCardModule], host: {
29
+ class: 'scl-section-shell',
30
+ }, providers: [NbSidebarService], template: "<aside>\n <nb-card class=\"scl-section-shell__sidebar\">\n <ng-content select=\"scl-sidebar-header\"></ng-content>\n <scl-menu [items]=\"items\"></scl-menu>\n </nb-card>\n</aside>\n\n<section class=\"scl-section-shell__content\">\n <router-outlet></router-outlet>\n <ng-content></ng-content>\n</section>\n" }]
31
+ }], propDecorators: { items: [{
32
+ type: Input
33
+ }], iconPosition: [{
34
+ type: Input
35
+ }], front: [{
36
+ type: HostBinding,
37
+ args: ['class.scl-section-shell--front']
38
+ }], center: [{
39
+ type: HostBinding,
40
+ args: ['class.scl-section-shell--center']
41
+ }], back: [{
42
+ type: HostBinding,
43
+ args: ['class.scl-section-shell--back']
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zaGVsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZXMvc2VjdGlvbi1zaGVsbC9zZWN0aW9uLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWN0aW9uLXNoZWxsL3NlY3Rpb24tc2hlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFtQixZQUFZLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFXLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFbkUsTUFVYSx3QkFBd0I7SUFWckM7UUFXYSxVQUFLLEdBQWMsRUFBRSxDQUFDO0tBaUJsQztJQWRHLElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUM7SUFDeEMsQ0FBQzs4R0FqQlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IseVVBRnRCLENBQUMsZ0JBQWdCLENBQUMsMEJDZGpDLDZVQVdBLDJDREZjLFlBQVksOEJBQUUsWUFBWSw4QkFBRSxZQUFZLHlNQUFFLGdCQUFnQix1RUFBRSxZQUFZOztTQU96RSx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFWcEMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFFBRTdFO3dCQUNGLEtBQUssRUFBRSxtQkFBbUI7cUJBQzdCLGFBQ1UsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFHcEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0YsS0FBSztzQkFEUixXQUFXO3VCQUFDLGdDQUFnQztnQkFNekMsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGlDQUFpQztnQkFNMUMsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5iQ2FyZENvbXBvbmVudCwgTmJDYXJkTW9kdWxlLCBOYk1lbnVNb2R1bGUsIE5iU2lkZWJhclNlcnZpY2UgfSBmcm9tICdAbmVidWxhci90aGVtZSc7XG5pbXBvcnQgeyBTY2xNZW51LCBTY2xNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbWVudS9tZW51LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLXNlY3Rpb24tc2hlbGwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmJNZW51TW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFNjbE1lbnVDb21wb25lbnQsIE5iQ2FyZE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlY3Rpb24tc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdzY2wtc2VjdGlvbi1zaGVsbCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtOYlNpZGViYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NsU2VjdGlvblNoZWxsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpdGVtczogU2NsTWVudVtdID0gW107XG4gICAgQElucHV0KCkgaWNvblBvc2l0aW9uPzogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY2wtc2VjdGlvbi1zaGVsbC0tZnJvbnQnKVxuICAgIGdldCBmcm9udCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSAnZnJvbnQnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc2NsLXNlY3Rpb24tc2hlbGwtLWNlbnRlcicpXG4gICAgZ2V0IGNlbnRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSAnY2VudGVyJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjbC1zZWN0aW9uLXNoZWxsLS1iYWNrJylcbiAgICBnZXQgYmFjaygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSAnYmFjayc7XG4gICAgfVxufVxuIiwiPGFzaWRlPlxuICAgIDxuYi1jYXJkIGNsYXNzPVwic2NsLXNlY3Rpb24tc2hlbGxfX3NpZGViYXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2NsLXNpZGViYXItaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8c2NsLW1lbnUgW2l0ZW1zXT1cIml0ZW1zXCI+PC9zY2wtbWVudT5cbiAgICA8L25iLWNhcmQ+XG48L2FzaWRlPlxuXG48c2VjdGlvbiBjbGFzcz1cInNjbC1zZWN0aW9uLXNoZWxsX19jb250ZW50XCI+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -0,0 +1,137 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
+ import { NgSelectModule } from '@ng-select/ng-select';
5
+ import { debounceTime } from 'rxjs/operators';
6
+ import { SclText } from '../public-api';
7
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@ng-select/ng-select";
12
+ class SclSelectComponent {
13
+ set items(value) {
14
+ if (value) {
15
+ this.allData = value.map((item) => ({
16
+ ...item,
17
+ isSelected: false,
18
+ }));
19
+ this.filteredData = this.allData;
20
+ }
21
+ }
22
+ set readonly(value) {
23
+ this.isReadonly = coerceBooleanProperty(value);
24
+ }
25
+ get hasGroupBy() {
26
+ return this.allData.every(element => element.groupBy);
27
+ }
28
+ get hasSelectedItem() {
29
+ return this.filteredData.some((item) => item.isSelected);
30
+ }
31
+ constructor(formBuilder) {
32
+ this.formBuilder = formBuilder;
33
+ this.change = new EventEmitter();
34
+ this.placeholder = '';
35
+ this.bindLabel = 'label';
36
+ this.bindValue = 'value';
37
+ this.appendTo = 'body';
38
+ this.name = '';
39
+ this.notFoundText = 'No data found';
40
+ this.filteredData = [];
41
+ this.allData = [];
42
+ this.isReadonly = false;
43
+ this.onChange = () => { };
44
+ this.onTouch = () => { };
45
+ }
46
+ ngOnInit() {
47
+ this.initForm();
48
+ this.handleAccountFilter();
49
+ }
50
+ initForm() {
51
+ this.selectForm = this.formBuilder.group({
52
+ select: [null],
53
+ search: [''],
54
+ });
55
+ }
56
+ filterAccounts(value) {
57
+ this.filteredData = this.allData.filter(item => {
58
+ const searchedValue = new RegExp(value, 'i');
59
+ return searchedValue.test(item[this.bindLabel]);
60
+ });
61
+ }
62
+ writeValue(value) {
63
+ this.selectForm.controls['select'].patchValue(value);
64
+ }
65
+ registerOnChange(fn) {
66
+ this.onChange = fn;
67
+ }
68
+ registerOnTouched(fn) {
69
+ this.onTouch = fn;
70
+ }
71
+ selectChange(event) {
72
+ if (event) {
73
+ this.filteredData.find((item) => (item.isSelected = false));
74
+ event.isSelected = true;
75
+ this.onChange(event[this.bindValue]);
76
+ this.change.emit(event);
77
+ }
78
+ else {
79
+ this.onChange('');
80
+ }
81
+ this.onTouch();
82
+ }
83
+ handleAccountFilter() {
84
+ const searchControl = this.selectForm.get('search');
85
+ if (searchControl) {
86
+ searchControl.valueChanges.pipe(debounceTime(500)).subscribe(value => this.filterAccounts(value));
87
+ }
88
+ }
89
+ onDropdownClose() {
90
+ this.selectForm.controls['search'].patchValue('');
91
+ this.onTouch();
92
+ }
93
+ onClear() {
94
+ this.onChange(null);
95
+ }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSelectComponent, isStandalone: true, selector: "scl-select", inputs: { placeholder: "placeholder", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", appendTo: "appendTo", name: "name", notFoundText: "notFoundText", readonly: "readonly" }, outputs: { change: "change" }, host: { classAttribute: "scl-select" }, providers: [
98
+ {
99
+ provide: NG_VALUE_ACCESSOR,
100
+ useExisting: forwardRef(() => SclSelectComponent),
101
+ multi: true,
102
+ },
103
+ ], ngImport: i0, template: "<form [formGroup]=\"selectForm\">\n <ng-select\n name=\"select\"\n appendTo=\"body\"\n groupBy=\"groupBy\"\n dropdownPosition=\"auto\"\n [items]=\"filteredData\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n formControlName=\"select\"\n [placeholder]=\"placeholder\"\n (change)=\"selectChange($event)\"\n (close)=\"onDropdownClose()\"\n (clear)=\"onClear()\"\n [readonly]=\"isReadonly\">\n <ng-template ng-optgroup-tmp let-item=\"item\" *ngIf=\"hasGroupBy\">\n <div>\n {{ item.groupBy }}\n </div>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"hasSelectedItem\">\n <div>\n <span>{{ item[bindLabel] }}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label\" [class.selected]=\"item.isSelected\">\n {{ item[bindLabel] }}\n </div>\n </ng-template>\n\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option ng-option-disabled\">No data found</div>\n </ng-template>\n </ng-select>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgNotFoundTemplateDirective, selector: "[ng-notfound-tmp]" }] }); }
104
+ }
105
+ export { SclSelectComponent };
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'scl-select', standalone: true, host: {
109
+ class: 'scl-select',
110
+ }, providers: [
111
+ {
112
+ provide: NG_VALUE_ACCESSOR,
113
+ useExisting: forwardRef(() => SclSelectComponent),
114
+ multi: true,
115
+ },
116
+ ], imports: [CommonModule, ReactiveFormsModule, NgSelectModule, SclText], template: "<form [formGroup]=\"selectForm\">\n <ng-select\n name=\"select\"\n appendTo=\"body\"\n groupBy=\"groupBy\"\n dropdownPosition=\"auto\"\n [items]=\"filteredData\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n formControlName=\"select\"\n [placeholder]=\"placeholder\"\n (change)=\"selectChange($event)\"\n (close)=\"onDropdownClose()\"\n (clear)=\"onClear()\"\n [readonly]=\"isReadonly\">\n <ng-template ng-optgroup-tmp let-item=\"item\" *ngIf=\"hasGroupBy\">\n <div>\n {{ item.groupBy }}\n </div>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\" *ngIf=\"hasSelectedItem\">\n <div>\n <span>{{ item[bindLabel] }}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label\" [class.selected]=\"item.isSelected\">\n {{ item[bindLabel] }}\n </div>\n </ng-template>\n\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option ng-option-disabled\">No data found</div>\n </ng-template>\n </ng-select>\n</form>\n" }]
117
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { change: [{
118
+ type: Output
119
+ }], placeholder: [{
120
+ type: Input
121
+ }], items: [{
122
+ type: Input,
123
+ args: [{ required: true }]
124
+ }], bindLabel: [{
125
+ type: Input
126
+ }], bindValue: [{
127
+ type: Input
128
+ }], appendTo: [{
129
+ type: Input
130
+ }], name: [{
131
+ type: Input
132
+ }], notFoundText: [{
133
+ type: Input
134
+ }], readonly: [{
135
+ type: Input
136
+ }] } });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQWdELGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVc5RCxNQWdCYSxrQkFBa0I7SUFJM0IsSUFBK0IsS0FBSyxDQUFDLEtBQVk7UUFDN0MsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzNDLEdBQUcsSUFBSTtnQkFDUCxVQUFVLEVBQUUsS0FBSzthQUNwQixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNwQztJQUNMLENBQUM7SUFRRCxJQUFhLFFBQVEsQ0FBQyxLQUF1QjtRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFD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c0JBQWYsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUN5QixLQUFLO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFVaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRU8sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNjbFRleHQgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5leHBvcnQgaW50ZXJmYWNlIFNjbFNlbGVjdCB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGdyb3VwQnk/OiBzdHJpbmc7XG4gICAgaXNTZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnc2NsLXNlbGVjdCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTY2xTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ1NlbGVjdE1vZHVsZSwgU2NsVGV4dF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzZXQgaXRlbXModmFsdWU6IGFueVtdKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5hbGxEYXRhID0gdmFsdWUubWFwKChpdGVtOiBTY2xTZWxlY3QpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5hbGxEYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nID0gJ3ZhbHVlJztcbiAgICBASW5wdXQoKSBhcHBlbmRUbzogc3RyaW5nID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIG5vdEZvdW5kVGV4dDogc3RyaW5nID0gJ05vIGRhdGEgZm91bmQnO1xuXG4gICAgQElucHV0KCkgc2V0IHJlYWRvbmx5KHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNSZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2VsZWN0Rm9ybSE6IEZvcm1Hcm91cDtcbiAgICBmaWx0ZXJlZERhdGE6IGFueVtdID0gW107XG4gICAgYWxsRGF0YTogYW55W10gPSBbXTtcbiAgICBpc1JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgICBnZXQgaGFzR3JvdXBCeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsRGF0YS5ldmVyeShlbGVtZW50ID0+IGVsZW1lbnQuZ3JvdXBCeSk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1NlbGVjdGVkSXRlbSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWREYXRhLnNvbWUoKGl0ZW06IFNjbFNlbGVjdCkgPT4gaXRlbS5pc1NlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWNjb3VudEZpbHRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Rm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgc2VsZWN0OiBbbnVsbF0sXG4gICAgICAgICAgICBzZWFyY2g6IFsnJ10sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQWNjb3VudHModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuYWxsRGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWFyY2hlZFZhbHVlID0gbmV3IFJlZ0V4cCh2YWx1ZSwgJ2knKTtcbiAgICAgICAgICAgIHJldHVybiBzZWFyY2hlZFZhbHVlLnRlc3QoaXRlbVt0aGlzLmJpbmRMYWJlbF0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb3JtLmNvbnRyb2xzWydzZWxlY3QnXS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2VsZWN0Q2hhbmdlKGV2ZW50OiBTY2xTZWxlY3QpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YS5maW5kKChpdGVtOiBTY2xTZWxlY3QpID0+IChpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICAgICAgZXZlbnQuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50W3RoaXMuYmluZFZhbHVlIGFzIGtleW9mIFNjbFNlbGVjdF0pO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9XG5cbiAgICBoYW5kbGVBY2NvdW50RmlsdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWFyY2hDb250cm9sID0gdGhpcy5zZWxlY3RGb3JtLmdldCgnc2VhcmNoJyk7XG4gICAgICAgIGlmIChzZWFyY2hDb250cm9sKSB7XG4gICAgICAgICAgICBzZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5maWx0ZXJBY2NvdW50cyh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ecm9wZG93bkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEZvcm0uY29udHJvbHNbJ3NlYXJjaCddLnBhdGNoVmFsdWUoJycpO1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic2VsZWN0Rm9ybVwiPlxuICAgIDxuZy1zZWxlY3RcbiAgICAgICAgbmFtZT1cInNlbGVjdFwiXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgIGdyb3VwQnk9XCJncm91cEJ5XCJcbiAgICAgICAgZHJvcGRvd25Qb3NpdGlvbj1cImF1dG9cIlxuICAgICAgICBbaXRlbXNdPVwiZmlsdGVyZWREYXRhXCJcbiAgICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIChjaGFuZ2UpPVwic2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAoY2xvc2UpPVwib25Ecm9wZG93bkNsb3NlKClcIlxuICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImlzUmVhZG9ubHlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiAqbmdJZj1cImhhc0dyb3VwQnlcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5ncm91cEJ5IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiICpuZ0lmPVwiaGFzU2VsZWN0ZWRJdGVtXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW1bYmluZExhYmVsXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5nLW9wdGlvbi1sYWJlbFwiIFtjbGFzcy5zZWxlY3RlZF09XCJpdGVtLmlzU2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtW2JpbmRMYWJlbF0gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1ub3Rmb3VuZC10bXA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uIG5nLW9wdGlvbi1kaXNhYmxlZFwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXNlbGVjdD5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ export const SELECT_CARD_ICONS = {
2
+ language: `
3
+ <svg viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
4
+ <path d="M14.006 2.334c-6.43 0-11.671 5.242-11.671 11.672 0 1.904.504 3.695 1.318 5.29l-1.27 4.525c-.292 1.058.75 2.1 1.791 1.791l4.526-1.27c1.595.814 3.37 1.319 5.29 1.319 6.43 0 11.672-5.242 11.672-11.672.016-6.413-5.226-11.655-11.656-11.655zm0 21.585a9.833 9.833 0 0 1-4.818-1.253.864.864 0 0 0-.667-.082L4.207 23.79l1.204-4.314a.872.872 0 0 0-.08-.667 9.834 9.834 0 0 1-1.254-4.819 9.9 9.9 0 0 1 9.913-9.913 9.9 9.9 0 0 1 9.914 9.913c0 5.486-4.412 9.93-9.898 9.93z" fill="#0B4A6F"/>
5
+ <path d="m13.746 17.343-2.914-7.586a.863.863 0 0 0-.814-.554.887.887 0 0 0-.814.554L6.29 17.343c-.179.455.05.96.505 1.14a.877.877 0 0 0 1.14-.506l.683-1.774h2.833l.683 1.774c.18.456.684.684 1.124.505a.883.883 0 0 0 .488-1.14zm-4.477-2.898.75-1.937.748 1.937H9.269zM20.322 17.505a.875.875 0 0 1-.879-.879v-1.953c-.211.081-.455.13-.716.162 0 .066.016.13.016.18 0 .586-.195 1.041-.586 1.367-.374.31-.895.472-1.562.472-.489 0-.944-.098-1.335-.277-.407-.179-.798-.52-1.172-.976a7.379 7.379 0 0 1-.798-1.286.915.915 0 0 1-.032-.717.956.956 0 0 1 .504-.504c.098-.033.212-.065.31-.065a.88.88 0 0 1 .797.504c.228.489.456.863.684 1.14.293.342.602.504.944.504.293 0 .39-.097.39-.374 0-.228-.064-.44-.195-.619a4.659 4.659 0 0 1-.7.066h-.228l-.097-1.547.228-.016c.407-.016.618-.098.716-.147.065-.032.146-.114.146-.293 0-.114 0-.293-.455-.293-.326 0-.7.114-1.124.326l-.227.114-.554-1.498.18-.098a4.32 4.32 0 0 1 1.953-.472c.634 0 1.139.18 1.513.521.375.342.57.814.57 1.368 0 .44-.13.83-.39 1.155h.08c.212 0 .424-.048.603-.13.18-.081.342-.211.521-.39v-.782h-.667V10.44h3.565v1.628h-.993v4.558c0 .488-.391.88-.88.88h-.13z" fill="#0B4A6F"/>
6
+ </svg>
7
+ `,
8
+ 'chevron-up': `
9
+ <svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
10
+ <path d="M4.65 9.888 8 6.538l3.35 3.35a.38.38 0 1 0 .538-.538L8.27 5.73a.38.38 0 0 0-.538 0L4.11 9.35a.38.38 0 1 0 .54.538z" fill="currentColor"/>
11
+ </svg>
12
+ `,
13
+ 'chevron-down': `
14
+ <svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
15
+ <path d="M14.1872 8.47247L10 12.6597L5.81281 8.47247C5.62685 8.28652 5.32542 8.28652 5.13947 8.47247C4.95351 8.65843 4.95351 8.95986 5.13947 9.14581L9.66333 13.6697C9.75643 13.7628 9.87809 13.8092 10 13.8092C10.1219 13.8092 10.2436 13.7628 10.3367 13.6697L14.8605 9.14581C15.0465 8.95986 15.0465 8.65843 14.8605 8.47247C14.6746 8.28652 14.3731 8.28652 14.1872 8.47247Z" fill="currentColor"/>
16
+ </svg>
17
+ `,
18
+ search: `
19
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
20
+ <path d="M10.108 2a8.108 8.108 0 0 1 6.448 13.026l5.128 5.13a1.08 1.08 0 0 1-1.427 1.618l-.102-.09-5.13-5.128A8.108 8.108 0 1 1 10.108 2zm0 2.162a5.946 5.946 0 1 0 0 11.893 5.946 5.946 0 0 0 0-11.893z" fill="currentColor"/>
21
+ </svg>
22
+ `,
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhcmQtaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3QtY2FyZC9zZWxlY3QtY2FyZC1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFZO0lBQ3RDLFFBQVEsRUFBRTs7Ozs7S0FLVDtJQUNELFlBQVksRUFBRTs7OztLQUliO0lBQ0QsY0FBYyxFQUFFOzs7O0tBSWY7SUFDRCxNQUFNLEVBQUU7Ozs7Q0FJWDtDQUNBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYkljb25zIH0gZnJvbSAnQG5lYnVsYXIvdGhlbWUnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUX0NBUkRfSUNPTlM6IE5iSWNvbnMgPSB7XG4gICAgbGFuZ3VhZ2U6IGBcbiAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE0LjAwNiAyLjMzNGMtNi40MyAwLTExLjY3MSA1LjI0Mi0xMS42NzEgMTEuNjcyIDAgMS45MDQuNTA0IDMuNjk1IDEuMzE4IDUuMjlsLTEuMjcgNC41MjVjLS4yOTIgMS4wNTguNzUgMi4xIDEuNzkxIDEuNzkxbDQuNTI2LTEuMjdjMS41OTUuODE0IDMuMzcgMS4zMTkgNS4yOSAxLjMxOSA2LjQzIDAgMTEuNjcyLTUuMjQyIDExLjY3Mi0xMS42NzIuMDE2LTYuNDEzLTUuMjI2LTExLjY1NS0xMS42NTYtMTEuNjU1em0wIDIxLjU4NWE5LjgzMyA5LjgzMyAwIDAgMS00LjgxOC0xLjI1My44NjQuODY0IDAgMCAwLS42NjctLjA4Mkw0LjIwNyAyMy43OWwxLjIwNC00LjMxNGEuODcyLjg3MiAwIDAgMC0uMDgtLjY2NyA5LjgzNCA5LjgzNCAwIDAgMS0xLjI1NC00LjgxOSA5LjkgOS45IDAgMCAxIDkuOTEzLTkuOTEzIDkuOSA5LjkgMCAwIDEgOS45MTQgOS45MTNjMCA1LjQ4Ni00LjQxMiA5LjkzLTkuODk4IDkuOTN6XCIgZmlsbD1cIiMwQjRBNkZcIi8+XG4gICAgICAgICAgICA8cGF0aCBkPVwibTEzLjc0NiAxNy4zNDMtMi45MTQtNy41ODZhLjg2My44NjMgMCAwIDAtLjgxNC0uNTU0Ljg4Ny44ODcgMCAwIDAtLjgxNC41NTRMNi4yOSAxNy4zNDNjLS4xNzkuNDU1LjA1Ljk2LjUwNSAxLjE0YS44NzcuODc3IDAgMCAwIDEuMTQtLjUwNmwuNjgzLTEuNzc0aDIuODMzbC42ODMgMS43NzRjLjE4LjQ1Ni42ODQuNjg0IDEuMTI0LjUwNWEuODgzLjg4MyAwIDAgMCAuNDg4LTEuMTR6bS00LjQ3Ny0yLjg5OC43NS0xLjkzNy43NDggMS45MzdIOS4yNjl6TTIwLjMyMiAxNy41MDVhLjg3NS44NzUgMCAwIDEtLjg3OS0uODc5di0xLjk1M2MtLjIxMS4wODEtLjQ1NS4xMy0uNzE2LjE2MiAwIC4wNjYuMDE2LjEzLjAxNi4xOCAwIC41ODYtLjE5NSAxLjA0MS0uNTg2IDEuMzY3LS4zNzQuMzEtLjg5NS40NzItMS41NjIuNDcyLS40ODkgMC0uOTQ0LS4wOTgtMS4zMzUtLjI3Ny0uNDA3LS4xNzktLjc5OC0uNTItMS4xNzItLjk3NmE3LjM3OSA3LjM3OSAwIDAgMS0uNzk4LTEuMjg2LjkxNS45MTUgMCAwIDEtLjAzMi0uNzE3Ljk1Ni45NTYgMCAwIDEgLjUwNC0uNTA0Yy4wOTgtLjAzMy4yMTItLjA2NS4zMS0uMDY1YS44OC44OCAwIDAgMSAuNzk3LjUwNGMuMjI4LjQ4OS40NTYuODYzLjY4NCAxLjE0LjI5My4zNDIuNjAyLjUwNC45NDQuNTA0LjI5MyAwIC4zOS0uMDk3LjM5LS4zNzQgMC0uMjI4LS4wNjQtLjQ0LS4xOTUtLjYxOWE0LjY1OSA0LjY1OSAwIDAgMS0uNy4wNjZoLS4yMjhsLS4wOTctMS41NDcuMjI4LS4wMTZjLjQwNy0uMDE2LjYxOC0uMDk4LjcxNi0uMTQ3LjA2NS0uMDMyLjE0Ni0uMTE0LjE0Ni0uMjkzIDAtLjExNCAwLS4yOTMtLjQ1NS0uMjkzLS4zMjYgMC0uNy4xMTQtMS4xMjQuMzI2bC0uMjI3LjExNC0uNTU0LTEuNDk4LjE4LS4wOThhNC4zMiA0LjMyIDAgMCAxIDEuOTUzLS40NzJjLjYzNCAwIDEuMTM5LjE4IDEuNTEzLjUyMS4zNzUuMzQyLjU3LjgxNC41NyAxLjM2OCAwIC40NC0uMTMuODMtLjM5IDEuMTU1aC4wOGMuMjEyIDAgLjQyNC0uMDQ4LjYwMy0uMTMuMTgtLjA4MS4zNDItLjIxMS41MjEtLjM5di0uNzgyaC0uNjY3VjEwLjQ0aDMuNTY1djEuNjI4aC0uOTkzdjQuNTU4YzAgLjQ4OC0uMzkxLjg4LS44OC44OGgtLjEzelwiIGZpbGw9XCIjMEI0QTZGXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICBgLFxuICAgICdjaGV2cm9uLXVwJzogYFxuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC42NSA5Ljg4OCA4IDYuNTM4bDMuMzUgMy4zNWEuMzguMzggMCAxIDAgLjUzOC0uNTM4TDguMjcgNS43M2EuMzguMzggMCAwIDAtLjUzOCAwTDQuMTEgOS4zNWEuMzguMzggMCAxIDAgLjU0LjUzOHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICBgLFxuICAgICdjaGV2cm9uLWRvd24nOiBgXG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNC4xODcyIDguNDcyNDdMMTAgMTIuNjU5N0w1LjgxMjgxIDguNDcyNDdDNS42MjY4NSA4LjI4NjUyIDUuMzI1NDIgOC4yODY1MiA1LjEzOTQ3IDguNDcyNDdDNC45NTM1MSA4LjY1ODQzIDQuOTUzNTEgOC45NTk4NiA1LjEzOTQ3IDkuMTQ1ODFMOS42NjMzMyAxMy42Njk3QzkuNzU2NDMgMTMuNzYyOCA5Ljg3ODA5IDEzLjgwOTIgMTAgMTMuODA5MkMxMC4xMjE5IDEzLjgwOTIgMTAuMjQzNiAxMy43NjI4IDEwLjMzNjcgMTMuNjY5N0wxNC44NjA1IDkuMTQ1ODFDMTUuMDQ2NSA4Ljk1OTg2IDE1LjA0NjUgOC42NTg0MyAxNC44NjA1IDguNDcyNDdDMTQuNjc0NiA4LjI4NjUyIDE0LjM3MzEgOC4yODY1MiAxNC4xODcyIDguNDcyNDdaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgYCxcbiAgICBzZWFyY2g6IGBcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMC4xMDggMmE4LjEwOCA4LjEwOCAwIDAgMSA2LjQ0OCAxMy4wMjZsNS4xMjggNS4xM2ExLjA4IDEuMDggMCAwIDEtMS40MjcgMS42MThsLS4xMDItLjA5LTUuMTMtNS4xMjhBOC4xMDggOC4xMDggMCAxIDEgMTAuMTA4IDJ6bTAgMi4xNjJhNS45NDYgNS45NDYgMCAxIDAgMCAxMS44OTMgNS45NDYgNS45NDYgMCAwIDAgMC0xMS44OTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICA8L3N2Zz5cbmAsXG59O1xuIl19
@@ -0,0 +1,117 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
5
+ import { NbButtonModule, NbIconModule, NbInputModule } from '@nebular/theme';
6
+ import { NgSelectModule } from '@ng-select/ng-select';
7
+ import { debounceTime } from 'rxjs';
8
+ import { SclBadge } from '../badge/badge';
9
+ import { SclFormControlWrapperComponent } from '../form/form-control-wrapper/form-control-wrapper.component';
10
+ import { SclFormField } from '../form/form-control/form-field';
11
+ import { SclText } from '../typography/typography';
12
+ import { SELECT_CARD_ICONS } from './select-card-icon';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@nebular/theme";
15
+ import * as i2 from "@angular/forms";
16
+ import * as i3 from "@angular/common";
17
+ import * as i4 from "@ng-select/ng-select";
18
+ class SclSelectCardComponent {
19
+ set items(value) {
20
+ this.allData = value;
21
+ this.displayData = this.allData;
22
+ }
23
+ set searchable(value) {
24
+ this.hasSearch = coerceBooleanProperty(value);
25
+ }
26
+ get searchable() {
27
+ return this.hasSearch;
28
+ }
29
+ constructor(iconLibraries, formBuilder) {
30
+ this.iconLibraries = iconLibraries;
31
+ this.formBuilder = formBuilder;
32
+ this.selected = new EventEmitter();
33
+ this.hasSearch = false;
34
+ this.placeholder = 'Search';
35
+ this.isDropdownOpen = false;
36
+ this.onChange = () => { };
37
+ this.onTouch = () => { };
38
+ this.iconLibraries.registerSvgPack('select-card-icon', SELECT_CARD_ICONS);
39
+ }
40
+ ngOnInit() {
41
+ this.initForm();
42
+ this.handleFilter();
43
+ }
44
+ initForm() {
45
+ this.selectForm = this.formBuilder.group({
46
+ select: [''],
47
+ search: [''],
48
+ });
49
+ }
50
+ writeValue(value) {
51
+ this.selectForm.controls['select'].patchValue(value);
52
+ }
53
+ registerOnChange(fn) {
54
+ this.onChange = fn;
55
+ }
56
+ registerOnTouched(fn) {
57
+ this.onTouch = fn;
58
+ }
59
+ selectChange(event) {
60
+ this.onChange(event.value);
61
+ this.selected.emit(event.value);
62
+ }
63
+ handleFilter() {
64
+ const searchControl = this.selectForm.get('search');
65
+ if (searchControl) {
66
+ searchControl.valueChanges.pipe(debounceTime(500)).subscribe(value => this.filterAccounts(value));
67
+ }
68
+ }
69
+ filterAccounts(value) {
70
+ this.displayData = this.allData.filter(item => {
71
+ const searchedValue = new RegExp(value, 'i');
72
+ return searchedValue.test(item.label);
73
+ });
74
+ }
75
+ dropdownOpen(value) {
76
+ !value ? (this.isDropdownOpen = false) : (this.isDropdownOpen = true);
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCardComponent, deps: [{ token: i1.NbIconLibraries }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSelectCardComponent, isStandalone: true, selector: "scl-select-card", inputs: { items: "items", searchable: "searchable" }, outputs: { selected: "selected" }, host: { classAttribute: "scl-select-card" }, providers: [
80
+ {
81
+ provide: NG_VALUE_ACCESSOR,
82
+ useExisting: forwardRef(() => SclSelectCardComponent),
83
+ multi: true,
84
+ },
85
+ ], ngImport: i0, template: "<div class=\"scl-select-card__avatar\">\n <nb-icon icon=\"language\" pack=\"select-card-icon\"> </nb-icon>\n</div>\n\n<div class=\"scl-select-card__content\">\n <form [formGroup]=\"selectForm\">\n <ng-select\n [items]=\"displayData\"\n bindValue=\"value\"\n bindLabel=\"label\"\n name=\"Profile\"\n id=\"profile\"\n placeholder=\"Select Profile\"\n formControlName=\"select\"\n class=\"select\"\n appendTo=\"body\"\n class=\"scl-select-card__select\"\n [searchable]=\"false\"\n (change)=\"selectChange($event)\"\n (open)=\"dropdownOpen(true)\"\n (close)=\"dropdownOpen(false)\">\n <ng-template ng-header-tmp *ngIf=\"hasSearch\">\n <scl-form-field>\n <scl-form-control-wrapper icon=\"search\" packName=\"scl-icon\">\n <input\n type=\"text\"\n nbInput\n fullWidth\n formControlName=\"search\"\n [placeholder]=\"placeholder\"\n (keypress)=\"handleFilter()\"\n fieldSize=\"medium\" />\n </scl-form-control-wrapper>\n </scl-form-field>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <button type=\"button\" nbButton ghost class=\"scl-select-card__button\">\n <div class=\"scl-select-card__info\">\n <p sclText textType=\"titleMedium\" weight=\"semiBold\">{{ item.label }}</p>\n <span class=\"scl-select-card__bullet\"></span>\n <p sclText textType=\"bodyLarge\">{{ item?.value }}</p>\n </div>\n <nb-icon [icon]=\"isDropdownOpen ? 'chevron-up' : 'chevron-down'\" pack=\"select-card-icon\"></nb-icon>\n </button>\n </ng-template>\n </ng-select>\n </form>\n <div class=\"scl-select-card__badge\">\n <ng-content select=\"scl-badge\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: SclText, selector: "[sclText]", inputs: ["textType", "weight", "textColor"] }, { kind: "component", type: SclFormField, selector: "scl-form-field", inputs: ["messageBuilder"] }, { kind: "ngmodule", type: NbIconModule }, { kind: "component", type: i1.NbIconComponent, selector: "nb-icon", inputs: ["icon", "pack", "options", "status", "config"] }, { kind: "ngmodule", type: NbInputModule }, { kind: "directive", type: i1.NbInputDirective, selector: "input[nbInput],textarea[nbInput]", inputs: ["fieldSize", "status", "shape", "fullWidth"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NbButtonModule }, { kind: "component", type: i1.NbButtonComponent, selector: "button[nbButton],a[nbButton],input[type=\"button\"][nbButton],input[type=\"submit\"][nbButton]", inputs: ["hero"] }, { kind: "component", type: SclFormControlWrapperComponent, selector: "scl-form-control-wrapper", inputs: ["icon", "packName"] }] }); }
86
+ }
87
+ export { SclSelectCardComponent };
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCardComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'scl-select-card', standalone: true, imports: [
91
+ CommonModule,
92
+ SclBadge,
93
+ SclText,
94
+ SclFormField,
95
+ NbIconModule,
96
+ NbInputModule,
97
+ NgSelectModule,
98
+ ReactiveFormsModule,
99
+ NbButtonModule,
100
+ SclFormControlWrapperComponent,
101
+ ], host: {
102
+ class: 'scl-select-card',
103
+ }, providers: [
104
+ {
105
+ provide: NG_VALUE_ACCESSOR,
106
+ useExisting: forwardRef(() => SclSelectCardComponent),
107
+ multi: true,
108
+ },
109
+ ], template: "<div class=\"scl-select-card__avatar\">\n <nb-icon icon=\"language\" pack=\"select-card-icon\"> </nb-icon>\n</div>\n\n<div class=\"scl-select-card__content\">\n <form [formGroup]=\"selectForm\">\n <ng-select\n [items]=\"displayData\"\n bindValue=\"value\"\n bindLabel=\"label\"\n name=\"Profile\"\n id=\"profile\"\n placeholder=\"Select Profile\"\n formControlName=\"select\"\n class=\"select\"\n appendTo=\"body\"\n class=\"scl-select-card__select\"\n [searchable]=\"false\"\n (change)=\"selectChange($event)\"\n (open)=\"dropdownOpen(true)\"\n (close)=\"dropdownOpen(false)\">\n <ng-template ng-header-tmp *ngIf=\"hasSearch\">\n <scl-form-field>\n <scl-form-control-wrapper icon=\"search\" packName=\"scl-icon\">\n <input\n type=\"text\"\n nbInput\n fullWidth\n formControlName=\"search\"\n [placeholder]=\"placeholder\"\n (keypress)=\"handleFilter()\"\n fieldSize=\"medium\" />\n </scl-form-control-wrapper>\n </scl-form-field>\n </ng-template>\n\n <ng-template ng-label-tmp let-item=\"item\">\n <button type=\"button\" nbButton ghost class=\"scl-select-card__button\">\n <div class=\"scl-select-card__info\">\n <p sclText textType=\"titleMedium\" weight=\"semiBold\">{{ item.label }}</p>\n <span class=\"scl-select-card__bullet\"></span>\n <p sclText textType=\"bodyLarge\">{{ item?.value }}</p>\n </div>\n <nb-icon [icon]=\"isDropdownOpen ? 'chevron-up' : 'chevron-down'\" pack=\"select-card-icon\"></nb-icon>\n </button>\n </ng-template>\n </ng-select>\n </form>\n <div class=\"scl-select-card__badge\">\n <ng-content select=\"scl-badge\"></ng-content>\n </div>\n</div>\n" }]
110
+ }], ctorParameters: function () { return [{ type: i1.NbIconLibraries }, { type: i2.FormBuilder }]; }, propDecorators: { selected: [{
111
+ type: Output
112
+ }], items: [{
113
+ type: Input
114
+ }], searchable: [{
115
+ type: Input
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL3NlbGVjdC1jYXJkL3NlbGVjdC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3QtY2FyZC9zZWxlY3QtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFnRCxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxjQUFjLEVBQW1CLFlBQVksRUFBVyxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBUXZELE1BMkJhLHNCQUFzQjtJQUUvQixJQUFhLEtBQUssQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtB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YyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBL0VRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLG9NQVJwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3JELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwwQkM1Q0wseXNFQW9EQSwyQ0Q1QlEsWUFBWSxtSUFFWixPQUFPLG1HQUNQLFlBQVksc0ZBQ1osWUFBWSw2SkFDWixhQUFhLHFMQUNiLGNBQWMsK2lDQUNkLG1CQUFtQiw0OEJBQ25CLGNBQWMsZ05BQ2QsOEJBQThCOztTQWF6QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkEzQmxDLFNBQVM7K0JBQ0ksaUJBQWlCLGNBRWYsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLDhCQUE4QjtxQkFDakMsUUFDSzt3QkFDRixLQUFLLEVBQUUsaUJBQWlCO3FCQUMzQixhQUNVO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtnSUFHUyxRQUFRO3NCQUFqQixNQUFNO2dCQUNNLEtBQUs7c0JBQWpCLEtBQUs7Z0JBS08sVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmJCdXR0b25Nb2R1bGUsIE5iSWNvbkxpYnJhcmllcywgTmJJY29uTW9kdWxlLCBOYkljb25zLCBOYklucHV0TW9kdWxlIH0gZnJvbSAnQG5lYnVsYXIvdGhlbWUnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjbEJhZGdlIH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UnO1xuaW1wb3J0IHsgU2NsRm9ybUNvbnRyb2xXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLWNvbnRyb2wtd3JhcHBlci9mb3JtLWNvbnRyb2wtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NsRm9ybUZpZWxkIH0gZnJvbSAnLi4vZm9ybS9mb3JtLWNvbnRyb2wvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBTY2xUZXh0IH0gZnJvbSAnLi4vdHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbmltcG9ydCB7IFNFTEVDVF9DQVJEX0lDT05TIH0gZnJvbSAnLi9zZWxlY3QtY2FyZC1pY29uJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RDYXJkIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgc3RhdHVzPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjbC1zZWxlY3QtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTY2xCYWRnZSxcbiAgICAgICAgU2NsVGV4dCxcbiAgICAgICAgU2NsRm9ybUZpZWxkLFxuICAgICAgICBOYkljb25Nb2R1bGUsXG4gICAgICAgIE5iSW5wdXRNb2R1bGUsXG4gICAgICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBOYkJ1dHRvbk1vZHVsZSxcbiAgICAgICAgU2NsRm9ybUNvbnRyb2xXcmFwcGVyQ29tcG9uZW50LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3NjbC1zZWxlY3QtY2FyZCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTY2xTZWxlY3RDYXJkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbFNlbGVjdENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpIHNldCBpdGVtcyh2YWx1ZTogU2VsZWN0Q2FyZFtdKSB7XG4gICAgICAgIHRoaXMuYWxsRGF0YSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5hbGxEYXRhO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzZWFyY2hhYmxlKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGFzU2VhcmNoID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzU2VhcmNoO1xuICAgIH1cblxuICAgIHNlbGVjdEZvcm0hOiBGb3JtR3JvdXA7XG4gICAgaGFzU2VhcmNoID0gZmFsc2U7XG4gICAgcGxhY2Vob2xkZXIgPSAnU2VhcmNoJztcblxuICAgIGFsbERhdGEhOiBTZWxlY3RDYXJkW107XG4gICAgZGlzcGxheURhdGEhOiBTZWxlY3RDYXJkW107XG4gICAgaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGljb25MaWJyYXJpZXM6IE5iSWNvbkxpYnJhcmllcyxcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5pY29uTGlicmFyaWVzLnJlZ2lzdGVyU3ZnUGFjaygnc2VsZWN0LWNhcmQtaWNvbicsIFNFTEVDVF9DQVJEX0lDT05TKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICB0aGlzLmhhbmRsZUZpbHRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Rm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgc2VsZWN0OiBbJyddLFxuICAgICAgICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb3JtLmNvbnRyb2xzWydzZWxlY3QnXS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2VsZWN0Q2hhbmdlKGV2ZW50OiBTZWxlY3RDYXJkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoZXZlbnQudmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZXZlbnQudmFsdWUpO1xuICAgIH1cblxuICAgIGhhbmRsZUZpbHRlcigpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoQ29udHJvbCA9IHRoaXMuc2VsZWN0Rm9ybS5nZXQoJ3NlYXJjaCcpO1xuICAgICAgICBpZiAoc2VhcmNoQ29udHJvbCkge1xuICAgICAgICAgICAgc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuZmlsdGVyQWNjb3VudHModmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyQWNjb3VudHModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5hbGxEYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaGVkVmFsdWUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnaScpO1xuICAgICAgICAgICAgcmV0dXJuIHNlYXJjaGVkVmFsdWUudGVzdChpdGVtLmxhYmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZHJvcGRvd25PcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgICF2YWx1ZSA/ICh0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2UpIDogKHRoaXMuaXNEcm9wZG93bk9wZW4gPSB0cnVlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2NsLXNlbGVjdC1jYXJkX19hdmF0YXJcIj5cbiAgICA8bmItaWNvbiBpY29uPVwibGFuZ3VhZ2VcIiBwYWNrPVwic2VsZWN0LWNhcmQtaWNvblwiPiA8L25iLWljb24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fY29udGVudFwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2VsZWN0Rm9ybVwiPlxuICAgICAgICA8bmctc2VsZWN0XG4gICAgICAgICAgICBbaXRlbXNdPVwiZGlzcGxheURhdGFcIlxuICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgbmFtZT1cIlByb2ZpbGVcIlxuICAgICAgICAgICAgaWQ9XCJwcm9maWxlXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFByb2ZpbGVcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0XCJcbiAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fc2VsZWN0XCJcbiAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwic2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgKG9wZW4pPVwiZHJvcGRvd25PcGVuKHRydWUpXCJcbiAgICAgICAgICAgIChjbG9zZSk9XCJkcm9wZG93bk9wZW4oZmFsc2UpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctaGVhZGVyLXRtcCAqbmdJZj1cImhhc1NlYXJjaFwiPlxuICAgICAgICAgICAgICAgIDxzY2wtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPHNjbC1mb3JtLWNvbnRyb2wtd3JhcHBlciBpY29uPVwic2VhcmNoXCIgcGFja05hbWU9XCJzY2wtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5iSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleXByZXNzKT1cImhhbmRsZUZpbHRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFNpemU9XCJtZWRpdW1cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NjbC1mb3JtLWNvbnRyb2wtd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8L3NjbC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBuYkJ1dHRvbiBnaG9zdCBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2wtc2VsZWN0LWNhcmRfX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHNjbFRleHQgdGV4dFR5cGU9XCJ0aXRsZU1lZGl1bVwiIHdlaWdodD1cInNlbWlCb2xkXCI+e3sgaXRlbS5sYWJlbCB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2NsLXNlbGVjdC1jYXJkX19idWxsZXRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBzY2xUZXh0IHRleHRUeXBlPVwiYm9keUxhcmdlXCI+e3sgaXRlbT8udmFsdWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmItaWNvbiBbaWNvbl09XCJpc0Ryb3Bkb3duT3BlbiA/ICdjaGV2cm9uLXVwJyA6ICdjaGV2cm9uLWRvd24nXCIgcGFjaz1cInNlbGVjdC1jYXJkLWljb25cIj48L25iLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXNlbGVjdD5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdiBjbGFzcz1cInNjbC1zZWxlY3QtY2FyZF9fYmFkZ2VcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2NsLWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
+ import { NgSelectModule } from '@ng-select/ng-select';
5
+ import { polyfillCountryFlagEmojis } from 'country-flag-emoji-polyfill';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "@angular/cdk/a11y";
9
+ import * as i3 from "@ng-select/ng-select";
10
+ polyfillCountryFlagEmojis(); // To load flag emoji
11
+ class SclSelectCountryComponent {
12
+ set countryCode(value) {
13
+ if (value) {
14
+ this.code = value;
15
+ this.selectCountryForm.get('country')?.patchValue(this.code);
16
+ }
17
+ }
18
+ get countryCode() {
19
+ return this.code;
20
+ }
21
+ constructor(formBuilder, focusMonitor, elementRef) {
22
+ this.formBuilder = formBuilder;
23
+ this.focusMonitor = focusMonitor;
24
+ this.elementRef = elementRef;
25
+ this.filteredCountries = [];
26
+ this.changeCountry = new EventEmitter();
27
+ this.disabled = false;
28
+ this.code = '+977';
29
+ this.onChange = () => { };
30
+ this.onTouch = () => { };
31
+ this.focusMonitor.monitor(this.elementRef, true).subscribe(origin => {
32
+ if (origin) {
33
+ this.onTouch();
34
+ }
35
+ });
36
+ this.selectCountryForm = this.formBuilder.group({
37
+ country: [this.code],
38
+ });
39
+ }
40
+ writeValue(value) {
41
+ this.selectCountryForm.get('country')?.patchValue(value);
42
+ }
43
+ registerOnChange(fn) {
44
+ this.onChange = fn;
45
+ }
46
+ registerOnTouched(fn) {
47
+ this.onTouch = fn;
48
+ }
49
+ setDisabledState(isDisabled) {
50
+ this.disabled = isDisabled;
51
+ }
52
+ selectCountry(value) {
53
+ this.changeCountry.emit(value);
54
+ this.onChange(value.dial_code);
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCountryComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclSelectCountryComponent, isStandalone: true, selector: "scl-select-country", inputs: { filteredCountries: "filteredCountries", disabled: "disabled", countryCode: "countryCode" }, outputs: { changeCountry: "changeCountry" }, host: { classAttribute: "scl-select-country" }, providers: [
58
+ {
59
+ provide: NG_VALUE_ACCESSOR,
60
+ useExisting: forwardRef(() => SclSelectCountryComponent),
61
+ multi: true,
62
+ },
63
+ ], ngImport: i0, template: "<form [formGroup]=\"selectCountryForm\">\n <ng-select\n [items]=\"filteredCountries\"\n class=\"scl-select-country__select\"\n bindValue=\"dial_code\"\n bindLabel=\"name\"\n [clearable]=\"false\"\n appendTo=\"body\"\n (change)=\"selectCountry($event)\"\n formControlName=\"country\"\n [readonly]=\"disabled\">\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span columnSeparator gap=\"tiny\"></span>\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span>{{ item.dial_code }}</span>\n </div>\n </ng-template>\n </ng-select>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
64
+ }
65
+ export { SclSelectCountryComponent };
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclSelectCountryComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'scl-select-country', standalone: true, imports: [CommonModule, NgSelectModule, ReactiveFormsModule], host: {
69
+ class: 'scl-select-country',
70
+ }, providers: [
71
+ {
72
+ provide: NG_VALUE_ACCESSOR,
73
+ useExisting: forwardRef(() => SclSelectCountryComponent),
74
+ multi: true,
75
+ },
76
+ ], template: "<form [formGroup]=\"selectCountryForm\">\n <ng-select\n [items]=\"filteredCountries\"\n class=\"scl-select-country__select\"\n bindValue=\"dial_code\"\n bindLabel=\"name\"\n [clearable]=\"false\"\n appendTo=\"body\"\n (change)=\"selectCountry($event)\"\n formControlName=\"country\"\n [readonly]=\"disabled\">\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"ng-option-label scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span columnSeparator gap=\"tiny\"></span>\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n <ng-template ng-label-tmp let-item=\"item\">\n <div class=\"scl-select-country__desc\">\n <!-- 'flags' class loads webfont for flag emoji -->\n <span class=\"flags\">{{ item.flag }}</span>\n <span>{{ item.dial_code }}</span>\n </div>\n </ng-template>\n </ng-select>\n</form>\n" }]
77
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { filteredCountries: [{
78
+ type: Input
79
+ }], changeCountry: [{
80
+ type: Output
81
+ }], disabled: [{
82
+ type: Input
83
+ }], countryCode: [{
84
+ type: Input
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvdW50cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL3NlbGVjdC1jb3VudHJ5L3NlbGVjdC1jb3VudHJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9zZWxlY3QtY291bnRyeS9zZWxlY3QtY291bnRyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFnRCxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFTeEUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtBQUVsRCxNQWdCYSx5QkFBeUI7SUFZbEMsSUFBYSxXQUFXLENBQUMsS0FBYTtRQUNsQyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoRTtJQUNMLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQ1ksV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsVUFBc0I7UUFGdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXpCekIsc0JBQWlCLEdBQTZCLEVBQUUsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBQzVELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFJbkMsU0FBSSxHQUFXLE1BQU0sQ0FBQztRQUV0QixhQUFRLEdBQTBCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMzQyxZQUFPLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBa0IzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRSxJQUFJLE1BQU0sRUFBRTtnQkFDUixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbEI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUE2QjtRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQXpEUSx5QkFBeUI7a0dBQXpCLHlCQUF5QixvUUFSdkI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN4RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDOUJMLDBuQ0E0QkEsMkNEVGMsWUFBWSw4QkFBRSxjQUFjLCtpQ0FBRSxtQkFBbUI7O1NBYWxELHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQWhCckMsU0FBUzsrQkFDSSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxRQUV0RDt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QixhQUNVO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtzSkFHUSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQVNPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgcG9seWZpbGxDb3VudHJ5RmxhZ0Vtb2ppcyB9IGZyb20gJ2NvdW50cnktZmxhZy1lbW9qaS1wb2x5ZmlsbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyZWRDb3VudHJpZXNHcm91cCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvZGU6IHN0cmluZztcbiAgICBkaWFsX2NvZGU6IHN0cmluZztcbiAgICBmbGFnOiBzdHJpbmc7XG59XG5cbnBvbHlmaWxsQ291bnRyeUZsYWdFbW9qaXMoKTsgLy8gVG8gbG9hZCBmbGFnIGVtb2ppXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLXNlbGVjdC1jb3VudHJ5JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWNvdW50cnkuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdzY2wtc2VsZWN0LWNvdW50cnknLFxuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2NsU2VsZWN0Q291bnRyeUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2xTZWxlY3RDb3VudHJ5Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpIGZpbHRlcmVkQ291bnRyaWVzOiBGaWx0ZXJlZENvdW50cmllc0dyb3VwW10gPSBbXTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlQ291bnRyeSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyZWRDb3VudHJpZXNHcm91cD4oKTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgc2VsZWN0Q291bnRyeUZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgICBjb2RlOiBzdHJpbmcgPSAnKzk3Nyc7XG5cbiAgICBvbkNoYW5nZTogKHZhbDogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgQElucHV0KCkgc2V0IGNvdW50cnlDb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvZGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q291bnRyeUZvcm0uZ2V0KCdjb3VudHJ5Jyk/LnBhdGNoVmFsdWUodGhpcy5jb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb3VudHJ5Q29kZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2RlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcbiAgICAgICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0Q291bnRyeUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGNvdW50cnk6IFt0aGlzLmNvZGVdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb3VudHJ5Rm9ybS5nZXQoJ2NvdW50cnknKT8ucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0Q291bnRyeSh2YWx1ZTogRmlsdGVyZWRDb3VudHJpZXNHcm91cCkge1xuICAgICAgICB0aGlzLmNoYW5nZUNvdW50cnkuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUuZGlhbF9jb2RlKTtcbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cInNlbGVjdENvdW50cnlGb3JtXCI+XG4gICAgPG5nLXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwiZmlsdGVyZWRDb3VudHJpZXNcIlxuICAgICAgICBjbGFzcz1cInNjbC1zZWxlY3QtY291bnRyeV9fc2VsZWN0XCJcbiAgICAgICAgYmluZFZhbHVlPVwiZGlhbF9jb2RlXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAoY2hhbmdlKT1cInNlbGVjdENvdW50cnkoJGV2ZW50KVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlcIlxuICAgICAgICBbcmVhZG9ubHldPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmctb3B0aW9uLWxhYmVsIHNjbC1zZWxlY3QtY291bnRyeV9fZGVzY1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gJ2ZsYWdzJyBjbGFzcyBsb2FkcyB3ZWJmb250IGZvciBmbGFnIGVtb2ppIC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxhZ3NcIj57eyBpdGVtLmZsYWcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY29sdW1uU2VwYXJhdG9yIGdhcD1cInRpbnlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NsLXNlbGVjdC1jb3VudHJ5X19kZXNjXCI+XG4gICAgICAgICAgICAgICAgPCEtLSAnZmxhZ3MnIGNsYXNzIGxvYWRzIHdlYmZvbnQgZm9yIGZsYWcgZW1vamkgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGFnc1wiPnt7IGl0ZW0uZmxhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmRpYWxfY29kZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctc2VsZWN0PlxuPC9mb3JtPlxuIl19