@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,364 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Component, forwardRef, HostListener, InjectionToken, Input, TemplateRef, ViewChild, Output, EventEmitter } from '@angular/core';
4
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
5
+ import { NbButtonModule, NbCalendarKitModule, NbCalendarModule, NbIconModule, NbInputModule, NbPopoverDirective, NbPopoverModule, NbTimepickerModule, } from '@nebular/theme';
6
+ import * as moment from 'moment';
7
+ import { DATE_FORMAT } from './custom-datepicker.model';
8
+ import { TimepickerComponent } from './timepicker/timepicker.component';
9
+ import { SclDatepickerIcons } from './datepicker.icon';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/forms";
12
+ import * as i2 from "@nebular/theme";
13
+ import * as i3 from "@angular/common";
14
+ export const DATE_TIME_PICKER = new InjectionToken('dateTimePicker');
15
+ class SclDateTimepickerComponent {
16
+ set format(value) {
17
+ if (value) {
18
+ this.dateFormat = value;
19
+ this.hasFormat = true;
20
+ }
21
+ }
22
+ get format() {
23
+ return this.dateFormat;
24
+ }
25
+ set min(value) {
26
+ if (!value)
27
+ return;
28
+ this.setMinDate(value);
29
+ if (this.datepickerForm.value.datepicker !== null) {
30
+ this.onChange(this.formValue);
31
+ }
32
+ }
33
+ get min() {
34
+ return this.hasTimePicker ? this.minDateTime : this.minDate;
35
+ }
36
+ set max(value) {
37
+ if (!value)
38
+ return;
39
+ this.setMaxDate(value);
40
+ if (this.datepickerForm.value.datepicker !== null) {
41
+ this.onChange(this.formValue);
42
+ }
43
+ }
44
+ get max() {
45
+ return this.hasTimePicker ? this.maxDateTime : this.maxDate;
46
+ }
47
+ set dateTimePicker(value) {
48
+ this.hasTimePicker = coerceBooleanProperty(value);
49
+ if (!this.hasFormat) {
50
+ this.dateFormat = DATE_FORMAT.DEFAULT_DATE_TIME;
51
+ }
52
+ }
53
+ get dateTimePicker() {
54
+ return this.hasTimePicker;
55
+ }
56
+ set showPresets(value) {
57
+ this.hasPresets = coerceBooleanProperty(value);
58
+ }
59
+ get showPresets() {
60
+ return this.hasPresets;
61
+ }
62
+ // For tweleve hour format
63
+ // @Input()
64
+ // set twelveHoursFormat(value: string | boolean) {
65
+ // this.showTwelveHrsFormat = coerceBooleanProperty(value);
66
+ // if (!this.hasFormat) {
67
+ // this.dateFormat = DATE_FORMAT.TWELVE_HR_DATETIME;
68
+ // }
69
+ // }
70
+ // get twelveHoursFormat() {
71
+ // return this.showTwelveHrsFormat;
72
+ // }
73
+ set readonly(value) {
74
+ this.isReadonly = coerceBooleanProperty(value);
75
+ }
76
+ get isFormValid() {
77
+ return this.dateTimePicker ? !!(this.selectedDate && this.time) : !!this.selectedDate;
78
+ }
79
+ get timeFormat() {
80
+ let timeFormat = '';
81
+ if (/[Hh]/.test(this.dateFormat))
82
+ timeFormat += 'HH';
83
+ if (/m/.test(this.dateFormat))
84
+ timeFormat += ':mm';
85
+ if (/s/.test(this.dateFormat))
86
+ timeFormat += ':ss';
87
+ if (/[Aa]/.test(this.dateFormat))
88
+ timeFormat += ' a';
89
+ return timeFormat;
90
+ }
91
+ constructor(formBuilder, iconLibraries) {
92
+ this.formBuilder = formBuilder;
93
+ this.iconLibraries = iconLibraries;
94
+ this.dateChange = new EventEmitter();
95
+ this.placeholder = 'Select a date';
96
+ this.DATE_FORMAT = DATE_FORMAT;
97
+ this.dateFormat = 'YYYY-MM-DD';
98
+ this.formValue = '';
99
+ this.visibleDate = new Date();
100
+ this.date = new Date();
101
+ this.selectedDate = '';
102
+ this.time = '00:00';
103
+ this.disabled = false;
104
+ this.hasTimePicker = false;
105
+ this.hasFormat = false;
106
+ this.hasPresets = false;
107
+ this.isRequired = false;
108
+ this.showTwelveHrsFormat = false;
109
+ this.touched = false;
110
+ this.isSelectingDate = false;
111
+ this.isReadonly = false;
112
+ this.onChange = () => { };
113
+ this.onTouch = () => { };
114
+ this.iconLibraries.registerSvgPack('scl-datepicker-icon', SclDatepickerIcons);
115
+ this.datepickerForm = this.formBuilder.group({
116
+ datepicker: [null],
117
+ });
118
+ }
119
+ ngOnInit() {
120
+ this.formValueChange();
121
+ if (this.minDateTime) {
122
+ this.minDateTime.setSeconds(0);
123
+ }
124
+ }
125
+ writeValue(obj) {
126
+ if (obj) {
127
+ this.selectedDate = moment(obj).format(this.dateFormat);
128
+ this.formValue = this.selectedDate;
129
+ this.updateFormValue();
130
+ }
131
+ else {
132
+ this.reset();
133
+ }
134
+ }
135
+ registerOnChange(fn) {
136
+ this.onChange = fn;
137
+ }
138
+ registerOnTouched(fn) {
139
+ this.onTouch = () => {
140
+ this.touched = true;
141
+ fn();
142
+ };
143
+ }
144
+ onBlur() {
145
+ if (this.isSelectingDate)
146
+ return;
147
+ this.touched = true;
148
+ this.onTouch();
149
+ if (!this.datepickerForm.value.datepicker) {
150
+ this.handleEmptyDatepicker();
151
+ }
152
+ else if (this.isFormValid) {
153
+ this.onConfirm();
154
+ }
155
+ }
156
+ handleKeyboardEvents(event) {
157
+ if (!this.popover.isShown || event.key !== 'Enter')
158
+ return;
159
+ this.touched = true;
160
+ this.onTouch();
161
+ const dateString = this.datepickerForm.value.datepicker;
162
+ const date = dateString ? moment(dateString, this.dateFormat, true).toDate() : new Date();
163
+ const errors = this.getValidationErrors(date);
164
+ if (errors)
165
+ return;
166
+ if (!this.hasTimePicker) {
167
+ this.onDateSelect(date);
168
+ return;
169
+ }
170
+ if (this.isFormValid) {
171
+ this.selectedDate = moment(date, this.dateFormat).format(this.dateFormat);
172
+ this.onConfirm();
173
+ }
174
+ }
175
+ onDateSelect(event) {
176
+ this.isSelectingDate = true;
177
+ this.selectedDate = moment(event).format(this.dateFormat);
178
+ this.date = moment(this.selectedDate, this.dateFormat).toDate();
179
+ if (!this.hasPresets && !this.hasTimePicker) {
180
+ this.onConfirm();
181
+ }
182
+ this.isSelectingDate = false;
183
+ }
184
+ onTimeChange(event) {
185
+ this.time = event;
186
+ }
187
+ onConfirm() {
188
+ this.setFormValue();
189
+ this.updateFormValue();
190
+ this.onChange(this.formValue);
191
+ this.touched = true;
192
+ this.onTouch();
193
+ this.closePopover();
194
+ this.dateChange.emit(this.formValue);
195
+ }
196
+ validate(control) {
197
+ if (this.isSelectingDate)
198
+ return null;
199
+ if (control?.errors?.['required']) {
200
+ this.isRequired = true;
201
+ }
202
+ return this.getValidationErrors(control?.value);
203
+ }
204
+ getValidationErrors(controlDate) {
205
+ if (!controlDate)
206
+ return this.getRequiredError();
207
+ if (!this.isValidDateFormat(controlDate))
208
+ return { invalidDateFormat: this.dateFormat };
209
+ return this.getDateRangeErrors(controlDate);
210
+ }
211
+ isValidDateFormat(date) {
212
+ return moment(date, this.dateFormat, true).isValid();
213
+ }
214
+ getRequiredError() {
215
+ return this.touched && this.isRequired ? { required: true } : null;
216
+ }
217
+ getDateRangeErrors(controlDate) {
218
+ const minDate = this.hasTimePicker ? this.minDateTime : this.minDate;
219
+ const maxDate = this.hasTimePicker ? this.maxDateTime : this.maxDate;
220
+ const dateObject = new Date(controlDate);
221
+ if (minDate && dateObject < minDate) {
222
+ return { [this.hasTimePicker ? 'minDateTime' : 'minDate']: { date: minDate, format: this.dateFormat } };
223
+ }
224
+ if (maxDate && dateObject > maxDate) {
225
+ return { [this.hasTimePicker ? 'maxDateTime' : 'maxDate']: { date: maxDate, format: this.dateFormat } };
226
+ }
227
+ return null;
228
+ }
229
+ updateFormValue() {
230
+ this.datepickerForm.get('datepicker')?.patchValue(this.formValue);
231
+ }
232
+ closePopover() {
233
+ this.popover.hide();
234
+ }
235
+ reset() {
236
+ this.datepickerForm.reset();
237
+ this.formValue = '';
238
+ this.setCurrentDate();
239
+ }
240
+ setCurrentDate() {
241
+ this.date = new Date();
242
+ this.date.setSeconds(0, 0);
243
+ this.visibleDate = this.date;
244
+ this.selectedDate = this.showTwelveHrsFormat
245
+ ? moment(this.date).format(this.dateFormat).replace('00:00', '12:00')
246
+ : moment(this.date).format(this.dateFormat);
247
+ this.onTimeSelect();
248
+ }
249
+ setMinDate(value) {
250
+ if (this.hasTimePicker) {
251
+ this.minDateTime = new Date(value);
252
+ this.minDateTime.setSeconds(0, 0);
253
+ }
254
+ this.minDate = new Date(value);
255
+ this.minDate.setHours(0, 0, 0, 0);
256
+ }
257
+ setMaxDate(value) {
258
+ if (this.hasTimePicker) {
259
+ this.maxDateTime = new Date(value);
260
+ this.maxDateTime.setSeconds(0, 0);
261
+ }
262
+ this.maxDate = new Date(value);
263
+ this.maxDate.setHours(23, 59, 59, 999);
264
+ }
265
+ formValueChange() {
266
+ this.datepickerForm.get('datepicker')?.valueChanges.subscribe(value => {
267
+ if (value === null)
268
+ return;
269
+ if (value.length <= 1) {
270
+ this.selectedDate = value;
271
+ this.onChange(value);
272
+ return;
273
+ }
274
+ this.date = moment(value, this.dateFormat).toDate();
275
+ if (this.isValidDateFormat(this.date)) {
276
+ this.visibleDate = this.date;
277
+ }
278
+ this.selectedDate = value;
279
+ this.onTimeSelect();
280
+ this.onChange(value);
281
+ });
282
+ }
283
+ handleEmptyDatepicker() {
284
+ this.reset();
285
+ this.onChange('');
286
+ this.dateChange.emit('');
287
+ }
288
+ setFormValue() {
289
+ const [datePart] = this.selectedDate.split(' ');
290
+ this.formValue = this.hasTimePicker ? `${datePart} ${this.time}` : this.selectedDate;
291
+ return this.formValue;
292
+ }
293
+ onTimeSelect() {
294
+ if (!this.selectedDate)
295
+ return;
296
+ const dateParts = this.selectedDate.split(' ');
297
+ this.time = dateParts.length >= 3 ? `${dateParts[1]} ${dateParts[2]}` : dateParts[1];
298
+ }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclDateTimepickerComponent, deps: [{ token: i1.FormBuilder }, { token: i2.NbIconLibraries }], target: i0.ɵɵFactoryTarget.Component }); }
300
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclDateTimepickerComponent, isStandalone: true, selector: "scl-datetime-picker", inputs: { placeholder: "placeholder", format: "format", min: "min", max: "max", dateTimePicker: "dateTimePicker", showPresets: "showPresets", readonly: "readonly" }, outputs: { dateChange: "dateChange" }, host: { listeners: { "keydown": "handleKeyboardEvents($event)" }, classAttribute: "scl-custom-datepicker " }, providers: [
301
+ {
302
+ provide: NG_VALUE_ACCESSOR,
303
+ useExisting: forwardRef(() => SclDateTimepickerComponent),
304
+ multi: true,
305
+ },
306
+ { provide: NG_VALIDATORS, useExisting: SclDateTimepickerComponent, multi: true },
307
+ { provide: DATE_TIME_PICKER, useValue: true },
308
+ ], viewQueries: [{ propertyName: "popover", first: true, predicate: NbPopoverDirective, descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, read: TemplateRef }, { propertyName: "timepicker", first: true, predicate: ["timepicker"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"datepickerForm\">\n <input\n class=\"scl-custom-datepicker__input\"\n nbInput\n type=\"text\"\n formControlName=\"datepicker\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [nbPopover]=\"calendar\"\n nbPopoverPlacement=\"bottom\"\n nbPopoverSize=\"large\"\n [nbPopoverTrigger]=\"isReadonly ? 'noop' : 'focus'\"\n (blur)=\"onBlur()\" />\n\n <div class=\"scl-custom-datepicker__icon\">\n <nb-icon icon=\"calendar\" pack=\"scl-datepicker-icon\"></nb-icon>\n </div>\n\n <ng-template #calendar>\n <div class=\"scl-custom-datepicker__popover\" (mousedown)=\"$event.preventDefault()\" aria-label=\"Calendar\" tabindex=\"-1\">\n <div class=\"scl-custom-datepicker__content\">\n <nb-calendar [(date)]=\"date\" (dateChange)=\"onDateSelect($event)\" [visibleDate]=\"visibleDate\" [min]=\"minDate\" [max]=\"maxDate\"> </nb-calendar>\n\n <timepicker\n #timepicker\n class=\"scl-custom-datepicker__timepicker\"\n (timeChange)=\"onTimeChange($event)\"\n [timeValues]=\"time\"\n [twelveHoursFormat]=\"showTwelveHrsFormat\"\n [format]=\"timeFormat\"\n *ngIf=\"hasTimePicker\">\n </timepicker>\n </div>\n\n <div class=\"scl-custom-datepicker__footer\" *ngIf=\"hasTimePicker\">\n <button nbButton ghost status=\"primary\" *ngIf=\"showPresets\">Choose from presents</button>\n <button nbButton status=\"primary\" [disabled]=\"!isFormValid\" (click)=\"onConfirm()\">Confirm</button>\n </div>\n </div>\n </ng-template>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NbCalendarKitModule }, { kind: "ngmodule", type: NbCalendarModule }, { kind: "component", type: i2.NbCalendarComponent, selector: "nb-calendar", inputs: ["boundingMonth", "startView", "min", "max", "filter", "dayCellComponent", "monthCellComponent", "yearCellComponent", "size", "visibleDate", "showNavigation", "date", "showWeekNumber", "weekNumberSymbol"], outputs: ["dateChange"] }, { kind: "ngmodule", type: NbPopoverModule }, { kind: "directive", type: i2.NbPopoverDirective, selector: "[nbPopover]", inputs: ["nbPopover", "nbPopoverContext", "nbPopoverPlacement", "nbPopoverAdjustment", "nbPopoverTrigger", "nbPopoverOffset", "nbTooltipDisabled", "nbPopoverClass"], outputs: ["nbPopoverShowStateChange"], exportAs: ["nbPopover"] }, { kind: "ngmodule", type: NbTimepickerModule }, { kind: "component", type: TimepickerComponent, selector: "timepicker", inputs: ["twelveHoursFormat", "timeValues", "format"], outputs: ["timeChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: 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: NbButtonModule }, { kind: "component", type: i2.NbButtonComponent, selector: "button[nbButton],a[nbButton],input[type=\"button\"][nbButton],input[type=\"submit\"][nbButton]", inputs: ["hero"] }, { kind: "ngmodule", type: NbInputModule }, { kind: "directive", type: i2.NbInputDirective, selector: "input[nbInput],textarea[nbInput]", inputs: ["fieldSize", "status", "shape", "fullWidth"] }, { kind: "ngmodule", type: NbIconModule }, { kind: "component", type: i2.NbIconComponent, selector: "nb-icon", inputs: ["icon", "pack", "options", "status", "config"] }] }); }
309
+ }
310
+ export { SclDateTimepickerComponent };
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclDateTimepickerComponent, decorators: [{
312
+ type: Component,
313
+ args: [{ selector: 'scl-datetime-picker', standalone: true, imports: [
314
+ CommonModule,
315
+ NbCalendarKitModule,
316
+ NbCalendarModule,
317
+ NbPopoverModule,
318
+ NbTimepickerModule,
319
+ TimepickerComponent,
320
+ ReactiveFormsModule,
321
+ NbButtonModule,
322
+ NbInputModule,
323
+ NbIconModule,
324
+ ], providers: [
325
+ {
326
+ provide: NG_VALUE_ACCESSOR,
327
+ useExisting: forwardRef(() => SclDateTimepickerComponent),
328
+ multi: true,
329
+ },
330
+ { provide: NG_VALIDATORS, useExisting: SclDateTimepickerComponent, multi: true },
331
+ { provide: DATE_TIME_PICKER, useValue: true },
332
+ ], host: {
333
+ class: 'scl-custom-datepicker ',
334
+ }, template: "<form [formGroup]=\"datepickerForm\">\n <input\n class=\"scl-custom-datepicker__input\"\n nbInput\n type=\"text\"\n formControlName=\"datepicker\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [nbPopover]=\"calendar\"\n nbPopoverPlacement=\"bottom\"\n nbPopoverSize=\"large\"\n [nbPopoverTrigger]=\"isReadonly ? 'noop' : 'focus'\"\n (blur)=\"onBlur()\" />\n\n <div class=\"scl-custom-datepicker__icon\">\n <nb-icon icon=\"calendar\" pack=\"scl-datepicker-icon\"></nb-icon>\n </div>\n\n <ng-template #calendar>\n <div class=\"scl-custom-datepicker__popover\" (mousedown)=\"$event.preventDefault()\" aria-label=\"Calendar\" tabindex=\"-1\">\n <div class=\"scl-custom-datepicker__content\">\n <nb-calendar [(date)]=\"date\" (dateChange)=\"onDateSelect($event)\" [visibleDate]=\"visibleDate\" [min]=\"minDate\" [max]=\"maxDate\"> </nb-calendar>\n\n <timepicker\n #timepicker\n class=\"scl-custom-datepicker__timepicker\"\n (timeChange)=\"onTimeChange($event)\"\n [timeValues]=\"time\"\n [twelveHoursFormat]=\"showTwelveHrsFormat\"\n [format]=\"timeFormat\"\n *ngIf=\"hasTimePicker\">\n </timepicker>\n </div>\n\n <div class=\"scl-custom-datepicker__footer\" *ngIf=\"hasTimePicker\">\n <button nbButton ghost status=\"primary\" *ngIf=\"showPresets\">Choose from presents</button>\n <button nbButton status=\"primary\" [disabled]=\"!isFormValid\" (click)=\"onConfirm()\">Confirm</button>\n </div>\n </div>\n </ng-template>\n</form>\n" }]
335
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.NbIconLibraries }]; }, propDecorators: { dateChange: [{
336
+ type: Output
337
+ }], popover: [{
338
+ type: ViewChild,
339
+ args: [NbPopoverDirective]
340
+ }], calendar: [{
341
+ type: ViewChild,
342
+ args: ['calendar', { read: TemplateRef }]
343
+ }], timepicker: [{
344
+ type: ViewChild,
345
+ args: ['timepicker']
346
+ }], placeholder: [{
347
+ type: Input
348
+ }], format: [{
349
+ type: Input
350
+ }], min: [{
351
+ type: Input
352
+ }], max: [{
353
+ type: Input
354
+ }], dateTimePicker: [{
355
+ type: Input
356
+ }], showPresets: [{
357
+ type: Input
358
+ }], readonly: [{
359
+ type: Input
360
+ }], handleKeyboardEvents: [{
361
+ type: HostListener,
362
+ args: ['keydown', ['$event']]
363
+ }] } });
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL2N1c3RvbS1kYXRlcGlja2VyL2N1c3RvbS1kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jdXN0b20tZGF0ZXBpY2tlci9jdXN0b20tZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFLSCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUV0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUV2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FB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O3dCQUNoQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixZQUFZO3FCQUNmLGFBQ1U7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7NEJBQ3pELEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNELEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLDRCQUE0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ2hGLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7cUJBQ2hELFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLHdCQUF3QjtxQkFDbEM7Z0lBR1MsVUFBVTtzQkFBbkIsTUFBTTtnQkFFd0IsT0FBTztzQkFBckMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ2lCLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDbkIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUVkLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ08sTUFBTTtzQkFBbEIsS0FBSztnQkFVTyxHQUFHO3NCQUFmLEtBQUs7Z0JBV08sR0FBRztzQkFBZixLQUFLO2dCQVlGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQXFCRixRQUFRO3NCQURYLEtBQUs7Z0JBZ0dOLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Hcm91cCxcbiAgICBOR19WQUxJREFUT1JTLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBOYkJ1dHRvbk1vZHVsZSxcbiAgICBOYkNhbGVuZGFyS2l0TW9kdWxlLFxuICAgIE5iQ2FsZW5kYXJNb2R1bGUsXG4gICAgTmJJY29uTGlicmFyaWVzLFxuICAgIE5iSWNvbk1vZHVsZSxcbiAgICBOYklucHV0TW9kdWxlLFxuICAgIE5iUG9wb3ZlckRpcmVjdGl2ZSxcbiAgICBOYlBvcG92ZXJNb2R1bGUsXG4gICAgTmJUaW1lcGlja2VyTW9kdWxlLFxufSBmcm9tICdAbmVidWxhci90aGVtZSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IERBVEVfRk9STUFUIH0gZnJvbSAnLi9jdXN0b20tZGF0ZXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBUaW1lcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNjbERhdGVwaWNrZXJJY29ucyB9IGZyb20gJy4vZGF0ZXBpY2tlci5pY29uJztcblxuZXhwb3J0IGNvbnN0IERBVEVfVElNRV9QSUNLRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2RhdGVUaW1lUGlja2VyJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLWRhdGV0aW1lLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOYkNhbGVuZGFyS2l0TW9kdWxlLFxuICAgICAgICBOYkNhbGVuZGFyTW9kdWxlLFxuICAgICAgICBOYlBvcG92ZXJNb2R1bGUsXG4gICAgICAgIE5iVGltZXBpY2tlck1vZHVsZSxcbiAgICAgICAgVGltZXBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTmJCdXR0b25Nb2R1bGUsXG4gICAgICAgIE5iSW5wdXRNb2R1bGUsXG4gICAgICAgIE5iSWNvbk1vZHVsZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNjbERhdGVUaW1lcGlja2VyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBTY2xEYXRlVGltZXBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBEQVRFX1RJTUVfUElDS0VSLCB1c2VWYWx1ZTogdHJ1ZSB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3NjbC1jdXN0b20tZGF0ZXBpY2tlciAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbERhdGVUaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKE5iUG9wb3ZlckRpcmVjdGl2ZSkgcG9wb3ZlciE6IE5iUG9wb3ZlckRpcmVjdGl2ZTtcbiAgICBAVmlld0NoaWxkKCdjYWxlbmRhcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgY2FsZW5kYXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ3RpbWVwaWNrZXInKSB0aW1lcGlja2VyITogVGltZXBpY2tlckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0IGEgZGF0ZSc7XG4gICAgQElucHV0KCkgc2V0IGZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmhhc0Zvcm1hdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGZvcm1hdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUZvcm1hdDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWluKHZhbHVlOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgICAgIHRoaXMuc2V0TWluRGF0ZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJGb3JtLnZhbHVlLmRhdGVwaWNrZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5mb3JtVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBtaW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1RpbWVQaWNrZXIgPyB0aGlzLm1pbkRhdGVUaW1lIDogdGhpcy5taW5EYXRlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtYXgodmFsdWU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICAgICAgdGhpcy5zZXRNYXhEYXRlKHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlckZvcm0udmFsdWUuZGF0ZXBpY2tlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmZvcm1WYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG1heCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzVGltZVBpY2tlciA/IHRoaXMubWF4RGF0ZVRpbWUgOiB0aGlzLm1heERhdGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0ZVRpbWVQaWNrZXIodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oYXNUaW1lUGlja2VyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0Zvcm1hdCkge1xuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gREFURV9GT1JNQVQuREVGQVVMVF9EQVRFX1RJTUU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRhdGVUaW1lUGlja2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNUaW1lUGlja2VyO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3dQcmVzZXRzKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGFzUHJlc2V0cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzaG93UHJlc2V0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUHJlc2V0cztcbiAgICB9XG5cbiAgICAvLyBGb3IgdHdlbGV2ZSBob3VyIGZvcm1hdFxuICAgIC8vIEBJbnB1dCgpXG4gICAgLy8gc2V0IHR3ZWx2ZUhvdXJzRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgLy8gICAgIHRoaXMuc2hvd1R3ZWx2ZUhyc0Zvcm1hdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgLy8gICAgIGlmICghdGhpcy5oYXNGb3JtYXQpIHtcbiAgICAvLyAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IERBVEVfRk9STUFULlRXRUxWRV9IUl9EQVRFVElNRTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbiAgICAvLyBnZXQgdHdlbHZlSG91cnNGb3JtYXQoKSB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLnNob3dUd2VsdmVIcnNGb3JtYXQ7XG4gICAgLy8gfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc1JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBEQVRFX0ZPUk1BVCA9IERBVEVfRk9STUFUO1xuICAgIGRhdGVwaWNrZXJGb3JtITogRm9ybUdyb3VwO1xuICAgIGRhdGVGb3JtYXQgPSAnWVlZWS1NTS1ERCc7XG4gICAgZm9ybVZhbHVlID0gJyc7XG5cbiAgICB2aXNpYmxlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgbWF4RGF0ZSE6IERhdGU7XG4gICAgbWluRGF0ZSE6IERhdGU7XG4gICAgbWluRGF0ZVRpbWUhOiBEYXRlO1xuICAgIG1heERhdGVUaW1lITogRGF0ZTtcblxuICAgIGRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHNlbGVjdGVkRGF0ZSA9ICcnO1xuICAgIHRpbWUgPSAnMDA6MDAnO1xuXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBoYXNUaW1lUGlja2VyID0gZmFsc2U7XG4gICAgaGFzRm9ybWF0ID0gZmFsc2U7XG4gICAgaGFzUHJlc2V0cyA9IGZhbHNlO1xuICAgIGlzUmVxdWlyZWQgPSBmYWxzZTtcbiAgICBzaG93VHdlbHZlSHJzRm9ybWF0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG4gICAgaXNTZWxlY3RpbmdEYXRlID0gZmFsc2U7XG4gICAgaXNSZWFkb25seSA9IGZhbHNlO1xuXG4gICAgZ2V0IGlzRm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZVBpY2tlciA/ICEhKHRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMudGltZSkgOiAhIXRoaXMuc2VsZWN0ZWREYXRlO1xuICAgIH1cblxuICAgIGdldCB0aW1lRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgICAgIGxldCB0aW1lRm9ybWF0ID0gJyc7XG4gICAgICAgIGlmICgvW0hoXS8udGVzdCh0aGlzLmRhdGVGb3JtYXQpKSB0aW1lRm9ybWF0ICs9ICdISCc7XG4gICAgICAgIGlmICgvbS8udGVzdCh0aGlzLmRhdGVGb3JtYXQpKSB0aW1lRm9ybWF0ICs9ICc6bW0nO1xuICAgICAgICBpZiAoL3MvLnRlc3QodGhpcy5kYXRlRm9ybWF0KSkgdGltZUZvcm1hdCArPSAnOnNzJztcbiAgICAgICAgaWYgKC9bQWFdLy50ZXN0KHRoaXMuZGF0ZUZvcm1hdCkpIHRpbWVGb3JtYXQgKz0gJyBhJztcbiAgICAgICAgcmV0dXJuIHRpbWVGb3JtYXQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGljb25MaWJyYXJpZXM6IE5iSWNvbkxpYnJhcmllc1xuICAgICkge1xuICAgICAgICB0aGlzLmljb25MaWJyYXJpZXMucmVnaXN0ZXJTdmdQYWNrKCdzY2wtZGF0ZXBpY2tlci1pY29uJywgU2NsRGF0ZXBpY2tlckljb25zKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgZGF0ZXBpY2tlcjogW251bGxdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMubWluRGF0ZVRpbWUpIHtcbiAgICAgICAgICAgIHRoaXMubWluRGF0ZVRpbWUuc2V0U2Vjb25kcygwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlOiAodmFsOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KG9iaikuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICB0aGlzLmZvcm1WYWx1ZSA9IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0aW5nRGF0ZSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGVwaWNrZXJGb3JtLnZhbHVlLmRhdGVwaWNrZXIpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRW1wdHlEYXRlcGlja2VyKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Zvcm1WYWxpZCkge1xuICAgICAgICAgICAgdGhpcy5vbkNvbmZpcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRXZlbnRzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wb3BvdmVyLmlzU2hvd24gfHwgZXZlbnQua2V5ICE9PSAnRW50ZXInKSByZXR1cm47XG4gICAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5kYXRlcGlja2VyRm9ybS52YWx1ZS5kYXRlcGlja2VyO1xuICAgICAgICBjb25zdCBkYXRlID0gZGF0ZVN0cmluZyA/IG1vbWVudChkYXRlU3RyaW5nLCB0aGlzLmRhdGVGb3JtYXQsIHRydWUpLnRvRGF0ZSgpIDogbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5nZXRWYWxpZGF0aW9uRXJyb3JzKGRhdGUpO1xuICAgICAgICBpZiAoZXJyb3JzKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5oYXNUaW1lUGlja2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRGF0ZVNlbGVjdChkYXRlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0Zvcm1WYWxpZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBtb21lbnQoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIHRoaXMub25Db25maXJtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3QoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2VsZWN0aW5nRGF0ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KGV2ZW50KS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgdGhpcy5kYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlLCB0aGlzLmRhdGVGb3JtYXQpLnRvRGF0ZSgpO1xuICAgICAgICBpZiAoIXRoaXMuaGFzUHJlc2V0cyAmJiAhdGhpcy5oYXNUaW1lUGlja2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ29uZmlybSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTZWxlY3RpbmdEYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25UaW1lQ2hhbmdlKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgb25Db25maXJtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHRoaXMuZm9ybVZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGluZ0RhdGUpIHJldHVybiBudWxsO1xuICAgICAgICBpZiAoY29udHJvbD8uZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuaXNSZXF1aXJlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWRhdGlvbkVycm9ycyhjb250cm9sPy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZGF0aW9uRXJyb3JzKGNvbnRyb2xEYXRlOiBEYXRlIHwgbnVsbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgaWYgKCFjb250cm9sRGF0ZSkgcmV0dXJuIHRoaXMuZ2V0UmVxdWlyZWRFcnJvcigpO1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGVGb3JtYXQoY29udHJvbERhdGUpKSByZXR1cm4geyBpbnZhbGlkRGF0ZUZvcm1hdDogdGhpcy5kYXRlRm9ybWF0IH07XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVSYW5nZUVycm9ycyhjb250cm9sRGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRGF0ZUZvcm1hdChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0LCB0cnVlKS5pc1ZhbGlkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXF1aXJlZEVycm9yKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG91Y2hlZCAmJiB0aGlzLmlzUmVxdWlyZWQgPyB7IHJlcXVpcmVkOiB0cnVlIH0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGF0ZVJhbmdlRXJyb3JzKGNvbnRyb2xEYXRlOiBEYXRlKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5oYXNUaW1lUGlja2VyID8gdGhpcy5taW5EYXRlVGltZSA6IHRoaXMubWluRGF0ZTtcbiAgICAgICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMuaGFzVGltZVBpY2tlciA/IHRoaXMubWF4RGF0ZVRpbWUgOiB0aGlzLm1heERhdGU7XG4gICAgICAgIGNvbnN0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZShjb250cm9sRGF0ZSk7XG4gICAgICAgIGlmIChtaW5EYXRlICYmIGRhdGVPYmplY3QgPCBtaW5EYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBbdGhpcy5oYXNUaW1lUGlja2VyID8gJ21pbkRhdGVUaW1lJyA6ICdtaW5EYXRlJ106IHsgZGF0ZTogbWluRGF0ZSwgZm9ybWF0OiB0aGlzLmRhdGVGb3JtYXQgfSB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXhEYXRlICYmIGRhdGVPYmplY3QgPiBtYXhEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBbdGhpcy5oYXNUaW1lUGlja2VyID8gJ21heERhdGVUaW1lJyA6ICdtYXhEYXRlJ106IHsgZGF0ZTogbWF4RGF0ZSwgZm9ybWF0OiB0aGlzLmRhdGVGb3JtYXQgfSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJGb3JtLmdldCgnZGF0ZXBpY2tlcicpPy5wYXRjaFZhbHVlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyLmhpZGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJGb3JtLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuZm9ybVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudERhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEN1cnJlbnREYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmRhdGUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICAgICAgdGhpcy52aXNpYmxlRGF0ZSA9IHRoaXMuZGF0ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLnNob3dUd2VsdmVIcnNGb3JtYXRcbiAgICAgICAgICAgID8gbW9tZW50KHRoaXMuZGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCkucmVwbGFjZSgnMDA6MDAnLCAnMTI6MDAnKVxuICAgICAgICAgICAgOiBtb21lbnQodGhpcy5kYXRlKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgdGhpcy5vblRpbWVTZWxlY3QoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1pbkRhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzVGltZVBpY2tlcikge1xuICAgICAgICAgICAgdGhpcy5taW5EYXRlVGltZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubWluRGF0ZVRpbWUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubWluRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1heERhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzVGltZVBpY2tlcikge1xuICAgICAgICAgICAgdGhpcy5tYXhEYXRlVGltZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubWF4RGF0ZVRpbWUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1heERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubWF4RGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybVZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJGb3JtLmdldCgnZGF0ZXBpY2tlcicpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0KS50b0RhdGUoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWREYXRlRm9ybWF0KHRoaXMuZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVEYXRlID0gdGhpcy5kYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMub25UaW1lU2VsZWN0KCk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFbXB0eURhdGVwaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSgnJyk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KCcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZvcm1WYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbZGF0ZVBhcnRdID0gdGhpcy5zZWxlY3RlZERhdGUuc3BsaXQoJyAnKTtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSB0aGlzLmhhc1RpbWVQaWNrZXIgPyBgJHtkYXRlUGFydH0gJHt0aGlzLnRpbWV9YCA6IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRpbWVTZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgZGF0ZVBhcnRzID0gdGhpcy5zZWxlY3RlZERhdGUuc3BsaXQoJyAnKTtcbiAgICAgICAgdGhpcy50aW1lID0gZGF0ZVBhcnRzLmxlbmd0aCA+PSAzID8gYCR7ZGF0ZVBhcnRzWzFdfSAke2RhdGVQYXJ0c1syXX1gIDogZGF0ZVBhcnRzWzFdO1xuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZGF0ZXBpY2tlckZvcm1cIj5cbiAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJzY2wtY3VzdG9tLWRhdGVwaWNrZXJfX2lucHV0XCJcbiAgICAgICAgbmJJbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVwaWNrZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbcmVhZG9ubHldPVwiaXNSZWFkb25seVwiXG4gICAgICAgIFtuYlBvcG92ZXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICBuYlBvcG92ZXJQbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICBuYlBvcG92ZXJTaXplPVwibGFyZ2VcIlxuICAgICAgICBbbmJQb3BvdmVyVHJpZ2dlcl09XCJpc1JlYWRvbmx5ID8gJ25vb3AnIDogJ2ZvY3VzJ1wiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJzY2wtY3VzdG9tLWRhdGVwaWNrZXJfX2ljb25cIj5cbiAgICAgICAgPG5iLWljb24gaWNvbj1cImNhbGVuZGFyXCIgcGFjaz1cInNjbC1kYXRlcGlja2VyLWljb25cIj48L25iLWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NhbGVuZGFyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2NsLWN1c3RvbS1kYXRlcGlja2VyX19wb3BvdmVyXCIgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGFyaWEtbGFiZWw9XCJDYWxlbmRhclwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2wtY3VzdG9tLWRhdGVwaWNrZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmItY2FsZW5kYXIgWyhkYXRlKV09XCJkYXRlXCIgKGRhdGVDaGFuZ2UpPVwib25EYXRlU2VsZWN0KCRldmVudClcIiBbdmlzaWJsZURhdGVdPVwidmlzaWJsZURhdGVcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIj4gPC9uYi1jYWxlbmRhcj5cblxuICAgICAgICAgICAgICAgIDx0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICN0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2NsLWN1c3RvbS1kYXRlcGlja2VyX190aW1lcGlja2VyXCJcbiAgICAgICAgICAgICAgICAgICAgKHRpbWVDaGFuZ2UpPVwib25UaW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbdGltZVZhbHVlc109XCJ0aW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3R3ZWx2ZUhvdXJzRm9ybWF0XT1cInNob3dUd2VsdmVIcnNGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cInRpbWVGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1RpbWVQaWNrZXJcIj5cbiAgICAgICAgICAgICAgICA8L3RpbWVwaWNrZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjbC1jdXN0b20tZGF0ZXBpY2tlcl9fZm9vdGVyXCIgKm5nSWY9XCJoYXNUaW1lUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBuYkJ1dHRvbiBnaG9zdCBzdGF0dXM9XCJwcmltYXJ5XCIgKm5nSWY9XCJzaG93UHJlc2V0c1wiPkNob29zZSBmcm9tIHByZXNlbnRzPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBuYkJ1dHRvbiBzdGF0dXM9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFpc0Zvcm1WYWxpZFwiIChjbGljayk9XCJvbkNvbmZpcm0oKVwiPkNvbmZpcm08L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9mb3JtPlxuIl19
@@ -0,0 +1,12 @@
1
+ export var DATE_FORMAT;
2
+ (function (DATE_FORMAT) {
3
+ DATE_FORMAT["DEFAULT_DATE"] = "YYYY-MM-DD";
4
+ DATE_FORMAT["DEFAULT_DATE_TIME"] = "YYYY-MM-DD HH:mm:ss";
5
+ DATE_FORMAT["TWELVE_HR_DATETIME"] = "YYYY-MM-DD hh:mm A";
6
+ })(DATE_FORMAT || (DATE_FORMAT = {}));
7
+ export var TIME_FORMAT;
8
+ (function (TIME_FORMAT) {
9
+ TIME_FORMAT["DEFAULT_TIME"] = "HH:mm:ss";
10
+ TIME_FORMAT["TWELVE_HR"] = "hh:mm A";
11
+ })(TIME_FORMAT || (TIME_FORMAT = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGVwaWNrZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZXMvY3VzdG9tLWRhdGVwaWNrZXIvY3VzdG9tLWRhdGVwaWNrZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNuQiwwQ0FBMkIsQ0FBQTtJQUMzQix3REFBeUMsQ0FBQTtJQUN6Qyx3REFBeUMsQ0FBQTtBQUM3QyxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLHdDQUF5QixDQUFBO0lBQ3pCLG9DQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERBVEVfRk9STUFUIHtcbiAgICBERUZBVUxUX0RBVEUgPSAnWVlZWS1NTS1ERCcsXG4gICAgREVGQVVMVF9EQVRFX1RJTUUgPSAnWVlZWS1NTS1ERCBISDptbTpzcycsXG4gICAgVFdFTFZFX0hSX0RBVEVUSU1FID0gJ1lZWVktTU0tREQgaGg6bW0gQScsXG59XG5cbmV4cG9ydCBlbnVtIFRJTUVfRk9STUFUIHtcbiAgICBERUZBVUxUX1RJTUUgPSAnSEg6bW06c3MnLFxuICAgIFRXRUxWRV9IUiA9ICdoaDptbSBBJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lcGlja2VyT3B0aW9uIHtcbiAgICB1bml0OiBzdHJpbmc7XG4gICAgZGF0YTogVGltZXBpY2tlckRhdGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lcGlja2VyRGF0YSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export const SclDatepickerIcons = {
2
+ calendar: `
3
+ <svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
4
+ <path d="M15.128 2.5a2.708 2.708 0 0 1 2.708 2.708v9.584a2.708 2.708 0 0 1-2.708 2.708H5.544a2.708 2.708 0 0 1-2.708-2.708V5.208A2.708 2.708 0 0 1 5.544 2.5h9.584zm1.458 4.583h-12.5v7.709c0 .805.653 1.458 1.458 1.458h9.584c.805 0 1.458-.653 1.458-1.458V7.083zm-9.792 5a1.042 1.042 0 1 1 0 2.084 1.042 1.042 0 0 1 0-2.084zm3.542 0a1.042 1.042 0 1 1 0 2.084 1.042 1.042 0 0 1 0-2.084zM6.794 8.75a1.042 1.042 0 1 1 0 2.083 1.042 1.042 0 0 1 0-2.083zm3.542 0a1.042 1.042 0 1 1 0 2.083 1.042 1.042 0 0 1 0-2.083zm3.542 0a1.042 1.042 0 1 1 0 2.083 1.042 1.042 0 0 1 0-2.083zm1.25-5H5.544c-.805 0-1.458.653-1.458 1.458v.625h12.5v-.625c0-.805-.653-1.458-1.458-1.458z" fill="#4B5563"/>
5
+ </svg>`,
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL2N1c3RvbS1kYXRlcGlja2VyL2RhdGVwaWNrZXIuaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBWTtJQUN2QyxRQUFRLEVBQUU7OztlQUdDO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5iSWNvbnMgfSBmcm9tICdAbmVidWxhci90aGVtZSc7XG5cbmV4cG9ydCBjb25zdCBTY2xEYXRlcGlja2VySWNvbnM6IE5iSWNvbnMgPSB7XG4gICAgY2FsZW5kYXI6IGBcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE1LjEyOCAyLjVhMi43MDggMi43MDggMCAwIDEgMi43MDggMi43MDh2OS41ODRhMi43MDggMi43MDggMCAwIDEtMi43MDggMi43MDhINS41NDRhMi43MDggMi43MDggMCAwIDEtMi43MDgtMi43MDhWNS4yMDhBMi43MDggMi43MDggMCAwIDEgNS41NDQgMi41aDkuNTg0em0xLjQ1OCA0LjU4M2gtMTIuNXY3LjcwOWMwIC44MDUuNjUzIDEuNDU4IDEuNDU4IDEuNDU4aDkuNTg0Yy44MDUgMCAxLjQ1OC0uNjUzIDEuNDU4LTEuNDU4VjcuMDgzem0tOS43OTIgNWExLjA0MiAxLjA0MiAwIDEgMSAwIDIuMDg0IDEuMDQyIDEuMDQyIDAgMCAxIDAtMi4wODR6bTMuNTQyIDBhMS4wNDIgMS4wNDIgMCAxIDEgMCAyLjA4NCAxLjA0MiAxLjA0MiAwIDAgMSAwLTIuMDg0ek02Ljc5NCA4Ljc1YTEuMDQyIDEuMDQyIDAgMSAxIDAgMi4wODMgMS4wNDIgMS4wNDIgMCAwIDEgMC0yLjA4M3ptMy41NDIgMGExLjA0MiAxLjA0MiAwIDEgMSAwIDIuMDgzIDEuMDQyIDEuMDQyIDAgMCAxIDAtMi4wODN6bTMuNTQyIDBhMS4wNDIgMS4wNDIgMCAxIDEgMCAyLjA4MyAxLjA0MiAxLjA0MiAwIDAgMSAwLTIuMDgzem0xLjI1LTVINS41NDRjLS44MDUgMC0xLjQ1OC42NTMtMS40NTggMS40NTh2LjYyNWgxMi41di0uNjI1YzAtLjgwNS0uNjUzLTEuNDU4LTEuNDU4LTEuNDU4elwiIGZpbGw9XCIjNEI1NTYzXCIvPlxuICAgICAgICA8L3N2Zz5gLFxufTtcbiJdfQ==