bromcom-ui 2.9.0-rc.14 → 2.9.0-rc.16

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 (342) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/{p-6e592196.entry.js → p-00f70814.entry.js} +1 -1
  3. package/dist/bromcom-ui/p-030f76e1.entry.js +5 -0
  4. package/dist/bromcom-ui/p-0720cb6f.js +5 -0
  5. package/dist/bromcom-ui/{p-4798d827.js → p-07c3eb8e.js} +1 -1
  6. package/dist/bromcom-ui/p-08f8f54b.entry.js +5 -0
  7. package/dist/bromcom-ui/{p-74d95615.js → p-0c82b9dd.js} +1 -1
  8. package/dist/bromcom-ui/p-11bbdf4e.entry.js +5 -0
  9. package/dist/bromcom-ui/{p-fd37157c.entry.js → p-1842c0ae.entry.js} +1 -1
  10. package/dist/bromcom-ui/p-1c67fb2c.entry.js +5 -0
  11. package/dist/bromcom-ui/{p-ba3c6657.entry.js → p-1c801d0c.entry.js} +1 -1
  12. package/dist/bromcom-ui/{p-df185078.entry.js → p-1c9314bd.entry.js} +1 -1
  13. package/dist/bromcom-ui/{p-a42921be.entry.js → p-2062bcad.entry.js} +1 -1
  14. package/dist/bromcom-ui/p-227574bd.entry.js +5 -0
  15. package/dist/bromcom-ui/{p-1e439cb9.entry.js → p-29e0998f.entry.js} +1 -1
  16. package/dist/bromcom-ui/{p-7f1612df.entry.js → p-2aaeb247.entry.js} +1 -1
  17. package/dist/bromcom-ui/{p-43a16ce4.js → p-2c5a0863.js} +1 -1
  18. package/dist/bromcom-ui/p-33e572c7.entry.js +5 -0
  19. package/dist/bromcom-ui/p-3432a82d.js +19 -0
  20. package/dist/bromcom-ui/{p-1cadeabe.entry.js → p-3932096b.entry.js} +1 -1
  21. package/dist/bromcom-ui/p-46169c1c.entry.js +5 -0
  22. package/dist/bromcom-ui/{p-9314d7ed.entry.js → p-46207bba.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-6b5754c6.entry.js → p-4676e8f0.entry.js} +1 -1
  24. package/dist/bromcom-ui/p-49283813.entry.js +5 -0
  25. package/dist/bromcom-ui/{p-123d6355.entry.js → p-4e79863b.entry.js} +1 -1
  26. package/dist/bromcom-ui/{p-5f9c9549.entry.js → p-5017ff5e.entry.js} +1 -1
  27. package/dist/bromcom-ui/{p-f6648bd1.js → p-512cb112.js} +1 -1
  28. package/dist/bromcom-ui/p-5436ea4f.entry.js +5 -0
  29. package/dist/bromcom-ui/{p-8fcf6a44.js → p-550a0676.js} +1 -1
  30. package/dist/bromcom-ui/{p-7b486021.entry.js → p-5699f67d.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-37488f1a.entry.js → p-5871767a.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-8d7c1af0.entry.js → p-5a8e767a.entry.js} +1 -1
  33. package/dist/bromcom-ui/{p-8c111486.entry.js → p-60bb78b8.entry.js} +1 -1
  34. package/dist/bromcom-ui/{p-3078fcd2.entry.js → p-626b805d.entry.js} +1 -1
  35. package/dist/bromcom-ui/p-64fad38b.js +11 -0
  36. package/dist/bromcom-ui/{p-d421811f.entry.js → p-657d2834.entry.js} +1 -1
  37. package/dist/bromcom-ui/{p-ebe49b26.entry.js → p-660a8daa.entry.js} +1 -1
  38. package/dist/bromcom-ui/{p-01416407.entry.js → p-69260d36.entry.js} +1 -1
  39. package/dist/bromcom-ui/p-6a45c5a6.js +5 -0
  40. package/dist/bromcom-ui/{p-034bbcdd.js → p-6edf985f.js} +1 -1
  41. package/dist/bromcom-ui/{p-1359971c.entry.js → p-7585daca.entry.js} +1 -1
  42. package/dist/bromcom-ui/{p-0332d483.js → p-78baef69.js} +1 -1
  43. package/dist/bromcom-ui/{p-c17a1c9c.entry.js → p-7ab25e89.entry.js} +1 -1
  44. package/dist/bromcom-ui/p-7c8623d0.entry.js +5 -0
  45. package/dist/bromcom-ui/p-7cb30513.js +5 -0
  46. package/dist/bromcom-ui/{p-28f78dd4.entry.js → p-7d18ce0e.entry.js} +1 -1
  47. package/dist/bromcom-ui/p-7f7ba6ac.entry.js +13 -0
  48. package/dist/bromcom-ui/p-83f4cf84.entry.js +5 -0
  49. package/dist/bromcom-ui/{p-e45c1546.js → p-85eedabc.js} +1 -1
  50. package/dist/bromcom-ui/{p-dbbe85a2.entry.js → p-86cd7eac.entry.js} +1 -1
  51. package/dist/bromcom-ui/p-89bea864.entry.js +5 -0
  52. package/dist/bromcom-ui/{p-6a7e07a9.entry.js → p-8be78066.entry.js} +1 -1
  53. package/dist/bromcom-ui/{p-461a8ad1.js → p-8c4d1c0d.js} +1 -1
  54. package/dist/bromcom-ui/{p-d28142f9.entry.js → p-8d288e04.entry.js} +1 -1
  55. package/dist/bromcom-ui/p-8ecd7dc7.entry.js +5 -0
  56. package/dist/bromcom-ui/{p-6b7f2b84.entry.js → p-8efaea12.entry.js} +1 -1
  57. package/dist/bromcom-ui/{p-a2ab6adb.entry.js → p-8f9077af.entry.js} +1 -1
  58. package/dist/bromcom-ui/{p-88c10970.entry.js → p-90914449.entry.js} +1 -1
  59. package/dist/bromcom-ui/p-9850cbce.js +5 -0
  60. package/dist/bromcom-ui/{p-02ad5557.entry.js → p-9e9fbc23.entry.js} +1 -1
  61. package/dist/bromcom-ui/{p-dc8305dc.js → p-a1b1750c.js} +1 -1
  62. package/dist/bromcom-ui/{p-4e33341b.entry.js → p-a664cc20.entry.js} +1 -1
  63. package/dist/bromcom-ui/{p-6ab403d2.entry.js → p-b4ab469f.entry.js} +1 -1
  64. package/dist/bromcom-ui/p-b5500fbe.entry.js +5 -0
  65. package/dist/bromcom-ui/{p-d8cadf00.entry.js → p-b609b1ff.entry.js} +1 -1
  66. package/dist/bromcom-ui/p-b81e8f91.js +5 -0
  67. package/dist/bromcom-ui/{p-3a06c6b1.entry.js → p-ba9eff2a.entry.js} +1 -1
  68. package/dist/bromcom-ui/{p-e7728eb8.entry.js → p-c9124af7.entry.js} +1 -1
  69. package/dist/bromcom-ui/{p-9d12a9da.entry.js → p-c9c7067e.entry.js} +1 -1
  70. package/dist/bromcom-ui/p-ccf0872d.js +5 -0
  71. package/dist/bromcom-ui/p-cf3cf447.entry.js +5 -0
  72. package/dist/bromcom-ui/{p-91246af3.js → p-d153c7fc.js} +1 -1
  73. package/dist/bromcom-ui/p-d245e0a0.js +5 -0
  74. package/dist/bromcom-ui/{p-00c15b34.entry.js → p-d35d3363.entry.js} +1 -1
  75. package/dist/bromcom-ui/p-d380e82d.entry.js +5 -0
  76. package/dist/bromcom-ui/{p-8a117641.entry.js → p-d492f0ff.entry.js} +1 -1
  77. package/dist/bromcom-ui/{p-84e87c10.entry.js → p-d4a47122.entry.js} +1 -1
  78. package/dist/bromcom-ui/{p-4df7fdfe.entry.js → p-d50e62e3.entry.js} +1 -1
  79. package/dist/bromcom-ui/{p-8c3535b6.entry.js → p-d551a51d.entry.js} +1 -1
  80. package/dist/bromcom-ui/{p-774708c3.js → p-d6e1a945.js} +1 -1
  81. package/dist/bromcom-ui/p-d7c46622.entry.js +5 -0
  82. package/dist/bromcom-ui/p-df191eb4.entry.js +5 -0
  83. package/dist/bromcom-ui/{p-395c780d.entry.js → p-df2eb6bd.entry.js} +1 -1
  84. package/dist/bromcom-ui/{p-12a73bfa.entry.js → p-e10682a3.entry.js} +1 -1
  85. package/dist/bromcom-ui/{p-3006537d.entry.js → p-e4486524.entry.js} +1 -1
  86. package/dist/bromcom-ui/{p-e096c551.entry.js → p-e8f4e425.entry.js} +1 -1
  87. package/dist/bromcom-ui/p-eb62dda7.entry.js +5 -0
  88. package/dist/bromcom-ui/{p-3960cae8.entry.js → p-ece578ef.entry.js} +1 -1
  89. package/dist/bromcom-ui/{p-dec4ea67.entry.js → p-f644d1b8.entry.js} +1 -1
  90. package/dist/bromcom-ui/p-f711588b.js +5 -0
  91. package/dist/bromcom-ui/p-ff9a9423.entry.js +5 -0
  92. package/dist/bromcom-ui/{p-b284e383.entry.js → p-fff1a0f9.entry.js} +1 -1
  93. package/dist/cjs/{bcm-03727f3b.js → bcm-7f703055.js} +28 -27
  94. package/dist/cjs/bcm-accordion.cjs.entry.js +2 -2
  95. package/dist/cjs/bcm-alert.cjs.entry.js +4 -4
  96. package/dist/cjs/bcm-attendance.cjs.entry.js +2 -2
  97. package/dist/cjs/bcm-avatar_2.cjs.entry.js +6 -7
  98. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +2 -2
  99. package/dist/cjs/bcm-button-group.cjs.entry.js +4 -4
  100. package/dist/cjs/{bcm-button_9.cjs.entry.js → bcm-button_14.cjs.entry.js} +16738 -892
  101. package/dist/cjs/bcm-card.cjs.entry.js +5 -5
  102. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +7 -7
  103. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +3 -3
  104. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +6 -6
  105. package/dist/cjs/bcm-chip-group.cjs.entry.js +8 -9
  106. package/dist/cjs/bcm-chip.cjs.entry.js +2 -2
  107. package/dist/cjs/bcm-collapse.cjs.entry.js +2 -2
  108. package/dist/cjs/bcm-color-input.cjs.entry.js +6 -7
  109. package/dist/cjs/bcm-default.cjs.entry.js +2 -2
  110. package/dist/cjs/bcm-drawer.cjs.entry.js +6 -7
  111. package/dist/cjs/bcm-dropdown.cjs.entry.js +5 -5
  112. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +4 -4
  113. package/dist/cjs/bcm-form.cjs.entry.js +3 -3
  114. package/dist/cjs/bcm-input-custom.cjs.entry.js +2 -2
  115. package/dist/cjs/bcm-input-dropdown.cjs.entry.js +309 -0
  116. package/dist/cjs/bcm-item.cjs.entry.js +3 -3
  117. package/dist/cjs/bcm-items.cjs.entry.js +4 -4
  118. package/dist/cjs/bcm-link.cjs.entry.js +1 -1
  119. package/dist/cjs/bcm-list_3.cjs.entry.js +28 -29
  120. package/dist/cjs/bcm-menu.cjs.entry.js +9 -10
  121. package/dist/cjs/bcm-modal-2-footer.cjs.entry.js +6 -7
  122. package/dist/cjs/bcm-modal-2-header.cjs.entry.js +6 -7
  123. package/dist/cjs/bcm-modal-2.cjs.entry.js +6 -7
  124. package/dist/cjs/bcm-modal.cjs.entry.js +5 -5
  125. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +5 -5
  126. package/dist/cjs/bcm-popconfirm.cjs.entry.js +3 -3
  127. package/dist/cjs/bcm-popover.cjs.entry.js +7 -8
  128. package/dist/cjs/bcm-progress.cjs.entry.js +3 -3
  129. package/dist/cjs/bcm-radio-group.cjs.entry.js +7 -8
  130. package/dist/cjs/bcm-radio.cjs.entry.js +6 -7
  131. package/dist/cjs/bcm-range.cjs.entry.js +3 -3
  132. package/dist/cjs/bcm-select.cjs.entry.js +2 -2
  133. package/dist/cjs/bcm-skeleton.cjs.entry.js +2 -2
  134. package/dist/cjs/bcm-step.cjs.entry.js +3 -3
  135. package/dist/cjs/bcm-stepper.cjs.entry.js +7 -8
  136. package/dist/cjs/bcm-switch.cjs.entry.js +4 -4
  137. package/dist/cjs/bcm-tab-group.cjs.entry.js +6 -7
  138. package/dist/cjs/bcm-tab-item-header.cjs.entry.js +6 -7
  139. package/dist/cjs/bcm-tab-item.cjs.entry.js +6 -7
  140. package/dist/cjs/bcm-table.cjs.entry.js +6 -7
  141. package/dist/cjs/bcm-tag.cjs.entry.js +4 -4
  142. package/dist/cjs/bcm-text.cjs.entry.js +3 -3
  143. package/dist/cjs/bcm-textarea.cjs.entry.js +163 -0
  144. package/dist/cjs/bcm-toast.cjs.entry.js +4 -4
  145. package/dist/cjs/bromcom-ui.cjs.js +3 -3
  146. package/dist/cjs/{floating-ui-baa45717.js → floating-ui-b441ea7c.js} +1 -1
  147. package/dist/cjs/{generate-3ece348b.js → generate-91a65294.js} +1 -1
  148. package/dist/cjs/{global-6ab24771.js → global-b209d1e4.js} +1 -1
  149. package/dist/cjs/{index-e05a7c6f.js → index-7eed931f.js} +1625 -24
  150. package/dist/cjs/{input-template-dba31783.js → input-template-dc157fc2.js} +2 -2
  151. package/dist/cjs/{is-load-decorator-7575fbd2.js → is-load-decorator-15036f37.js} +2 -1
  152. package/dist/cjs/{json-parse-decarator-1987a7bd.js → json-parse-decarator-32a5151e.js} +1 -1
  153. package/dist/cjs/{label-template-15c3c0ed.js → label-template-80235581.js} +2 -2
  154. package/dist/cjs/loader.cjs.js +3 -3
  155. package/dist/cjs/{number-helper-f80c6c41.js → number-helper-c44b719b.js} +1 -1
  156. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +7 -7
  157. package/dist/cjs/old-bcm-popover.cjs.entry.js +3 -3
  158. package/dist/cjs/{package-338cedd9.js → package-acdd89a1.js} +1 -1
  159. package/dist/cjs/{popover-placement-8866eab1.js → popover-placement-f20020a6.js} +1 -1
  160. package/dist/cjs/{slot-template-de6a91b1.js → slot-template-873b0cd5.js} +1 -1
  161. package/dist/cjs/{stepper-states-310b6127.js → stepper-states-c188e535.js} +1 -1
  162. package/dist/cjs/{string-helper-9b392049.js → string-helper-fda7cbba.js} +1 -1
  163. package/dist/cjs/{tooltip-helper-1a672e09.js → tooltip-helper-a3643a7d.js} +6 -7
  164. package/dist/cjs/{validators-c318271a.js → validators-74e507fb.js} +6 -1
  165. package/dist/collection/components/atoms/button/button.css +55 -0
  166. package/dist/collection/components/atoms/button/button.js +1 -1
  167. package/dist/collection/components/molecules/dropdown/dropdown.js +1 -1
  168. package/dist/collection/components/molecules/input-dropdown/input-dropdown.js +16 -14
  169. package/dist/collection/components/organism/datetime-picker/datetime-picker.js +1 -1
  170. package/dist/collection/components/organism/list/list.js +19 -0
  171. package/dist/collection/components/third-parts/rc-picker/date.js +163 -19
  172. package/dist/collection/components/third-parts/rc-picker/rc-picker.css +912 -366
  173. package/dist/collection/components/third-parts/rc-picker/rc-picker.js +210 -33
  174. package/dist/collection/decorators/is-load-decorator.js +2 -1
  175. package/dist/collection/models/bcm.js +28 -27
  176. package/dist/components/bcm-date.js +54 -12
  177. package/dist/components/bcm.js +28 -27
  178. package/dist/components/button.js +1 -1
  179. package/dist/components/datetime-picker.js +1 -1
  180. package/dist/components/generate.js +1 -1
  181. package/dist/components/is-load-decorator.js +2 -1
  182. package/dist/components/list.js +2 -0
  183. package/dist/components/rc-picker.js +64 -29
  184. package/dist/esm/{_commonjsHelpers-be0d4ec8.js → _commonjsHelpers-7002e5de.js} +1 -1
  185. package/dist/esm/bcm-accordion.entry.js +4 -4
  186. package/dist/esm/bcm-alert.entry.js +7 -7
  187. package/dist/esm/bcm-attendance.entry.js +4 -4
  188. package/dist/esm/bcm-autocomplete.entry.js +2 -2
  189. package/dist/esm/bcm-avatar_2.entry.js +9 -10
  190. package/dist/esm/bcm-breadcrumb.entry.js +5 -5
  191. package/dist/esm/bcm-button-group.entry.js +7 -7
  192. package/dist/esm/{bcm-button_9.entry.js → bcm-button_14.entry.js} +16738 -897
  193. package/dist/esm/bcm-card.entry.js +9 -9
  194. package/dist/esm/bcm-checkbox-group.entry.js +10 -10
  195. package/dist/esm/bcm-checkbox-lite_9.entry.js +6 -6
  196. package/dist/esm/bcm-checkbox_2.entry.js +11 -11
  197. package/dist/esm/bcm-chip-group.entry.js +13 -14
  198. package/dist/esm/bcm-chip.entry.js +6 -6
  199. package/dist/esm/bcm-collapse.entry.js +5 -5
  200. package/dist/esm/bcm-color-input.entry.js +9 -10
  201. package/dist/esm/bcm-colorpicker.entry.js +2 -2
  202. package/dist/esm/{bcm-ac17222c.js → bcm-d45dc47d.js} +28 -27
  203. package/dist/esm/bcm-default.entry.js +4 -4
  204. package/dist/esm/bcm-drawer.entry.js +10 -11
  205. package/dist/esm/bcm-dropdown.entry.js +8 -8
  206. package/dist/esm/bcm-error-layout.entry.js +2 -2
  207. package/dist/esm/bcm-expansion-panel.entry.js +8 -8
  208. package/dist/esm/bcm-form.entry.js +5 -5
  209. package/dist/esm/bcm-input-custom.entry.js +5 -5
  210. package/dist/esm/bcm-input-dropdown.entry.js +305 -0
  211. package/dist/esm/bcm-item.entry.js +7 -7
  212. package/dist/esm/bcm-items.entry.js +6 -6
  213. package/dist/esm/bcm-link.entry.js +3 -3
  214. package/dist/esm/bcm-list_3.entry.js +19 -20
  215. package/dist/esm/bcm-menu.entry.js +13 -14
  216. package/dist/esm/bcm-message.entry.js +2 -2
  217. package/dist/esm/bcm-modal-2-footer.entry.js +10 -11
  218. package/dist/esm/bcm-modal-2-header.entry.js +9 -10
  219. package/dist/esm/bcm-modal-2.entry.js +10 -11
  220. package/dist/esm/bcm-modal.entry.js +8 -8
  221. package/dist/esm/bcm-notification.entry.js +2 -2
  222. package/dist/esm/bcm-old-tag_2.entry.js +2 -2
  223. package/dist/esm/bcm-overlay_2.entry.js +3 -3
  224. package/dist/esm/bcm-popconfirm-box.entry.js +9 -9
  225. package/dist/esm/bcm-popconfirm.entry.js +6 -6
  226. package/dist/esm/bcm-popover.entry.js +10 -11
  227. package/dist/esm/bcm-progress.entry.js +7 -7
  228. package/dist/esm/bcm-radio-group.entry.js +12 -13
  229. package/dist/esm/bcm-radio.entry.js +10 -11
  230. package/dist/esm/bcm-range.entry.js +6 -6
  231. package/dist/esm/bcm-result.entry.js +2 -2
  232. package/dist/esm/bcm-select-group.entry.js +2 -2
  233. package/dist/esm/bcm-select-option.entry.js +2 -2
  234. package/dist/esm/bcm-select.entry.js +4 -4
  235. package/dist/esm/bcm-skeleton.entry.js +4 -4
  236. package/dist/esm/bcm-step.entry.js +6 -6
  237. package/dist/esm/bcm-stepper.entry.js +11 -12
  238. package/dist/esm/bcm-switch.entry.js +8 -8
  239. package/dist/esm/bcm-tab-group.entry.js +9 -10
  240. package/dist/esm/bcm-tab-item-header.entry.js +10 -11
  241. package/dist/esm/bcm-tab-item.entry.js +9 -10
  242. package/dist/esm/bcm-tab-pane.entry.js +2 -2
  243. package/dist/esm/bcm-tab.entry.js +2 -2
  244. package/dist/esm/bcm-table.entry.js +10 -11
  245. package/dist/esm/bcm-tabs-content.entry.js +2 -2
  246. package/dist/esm/bcm-tabs.entry.js +2 -2
  247. package/dist/esm/bcm-tag.entry.js +7 -7
  248. package/dist/esm/bcm-text.entry.js +7 -7
  249. package/dist/esm/bcm-textarea.entry.js +159 -0
  250. package/dist/esm/bcm-timeline-item.entry.js +2 -2
  251. package/dist/esm/bcm-timeline.entry.js +2 -2
  252. package/dist/esm/bcm-toast.entry.js +7 -7
  253. package/dist/esm/bromcom-ui.js +3 -3
  254. package/dist/esm/{caption-template-e973a48c.js → caption-template-d47f338f.js} +1 -1
  255. package/dist/esm/{color-helper-c4fa9ebc.js → color-helper-71b610e7.js} +1 -1
  256. package/dist/esm/{colors-e1c31f79.js → colors-ebea297f.js} +1 -1
  257. package/dist/esm/{floating-ui-54c52eaa.js → floating-ui-8a0c54d6.js} +1 -1
  258. package/dist/esm/{generate-87200d1c.js → generate-77508025.js} +2 -2
  259. package/dist/esm/{global-50960b0d.js → global-473e45f0.js} +1 -1
  260. package/dist/esm/{index-b84bc8c9.js → index-00c8a8f7.js} +1 -1
  261. package/dist/esm/{index-a6d9d0af.js → index-e4b6a4ce.js} +1612 -26
  262. package/dist/esm/{input-template-ab70223f.js → input-template-83fefdcc.js} +3 -3
  263. package/dist/esm/{is-load-decorator-6784aa87.js → is-load-decorator-8277e3b8.js} +2 -1
  264. package/dist/esm/{json-parse-decarator-a56bad01.js → json-parse-decarator-7221b8e2.js} +1 -1
  265. package/dist/esm/{label-template-62e49c38.js → label-template-946d4062.js} +3 -3
  266. package/dist/esm/loader.js +3 -3
  267. package/dist/esm/{number-helper-d3485207.js → number-helper-9ffb551c.js} +1 -1
  268. package/dist/esm/old-bcm-popover-box.entry.js +10 -10
  269. package/dist/esm/old-bcm-popover.entry.js +6 -6
  270. package/dist/esm/{package-e0503891.js → package-a7b14d41.js} +1 -1
  271. package/dist/esm/{popover-placement-7cce412f.js → popover-placement-be68c848.js} +1 -1
  272. package/dist/esm/{slot-template-7447145d.js → slot-template-fcc7846e.js} +1 -1
  273. package/dist/esm/{stepper-states-8ed538e6.js → stepper-states-d032d06a.js} +1 -1
  274. package/dist/esm/{string-helper-5ef67a66.js → string-helper-b0e05041.js} +2 -2
  275. package/dist/esm/{tooltip-helper-c8970f99.js → tooltip-helper-04d51591.js} +7 -8
  276. package/dist/esm/{validators-3438f640.js → validators-39c53eb5.js} +6 -2
  277. package/dist/types/components/molecules/input-dropdown/input-dropdown.d.ts +5 -17
  278. package/dist/types/components/organism/list/list.d.ts +1 -0
  279. package/dist/types/components/third-parts/rc-picker/date.d.ts +16 -2
  280. package/dist/types/components/third-parts/rc-picker/rc-picker.d.ts +10 -2
  281. package/dist/types/components.d.ts +41 -12
  282. package/dist/types/models/bcm.d.ts +247 -235
  283. package/package.json +1 -1
  284. package/dist/bromcom-ui/p-013e2754.entry.js +0 -5
  285. package/dist/bromcom-ui/p-109e236f.entry.js +0 -5
  286. package/dist/bromcom-ui/p-18cec6df.js +0 -5
  287. package/dist/bromcom-ui/p-1b6cf687.entry.js +0 -5
  288. package/dist/bromcom-ui/p-23c35e1b.js +0 -5
  289. package/dist/bromcom-ui/p-3182df7e.js +0 -10
  290. package/dist/bromcom-ui/p-36086f27.entry.js +0 -5
  291. package/dist/bromcom-ui/p-36e8b68d.entry.js +0 -5
  292. package/dist/bromcom-ui/p-3ade1099.js +0 -5
  293. package/dist/bromcom-ui/p-3d135c37.entry.js +0 -5
  294. package/dist/bromcom-ui/p-43a6794f.entry.js +0 -5
  295. package/dist/bromcom-ui/p-44ca28fa.entry.js +0 -5
  296. package/dist/bromcom-ui/p-489cf42b.entry.js +0 -5
  297. package/dist/bromcom-ui/p-49f37d54.js +0 -5
  298. package/dist/bromcom-ui/p-4a6505b5.entry.js +0 -5
  299. package/dist/bromcom-ui/p-51ea1c7b.entry.js +0 -5
  300. package/dist/bromcom-ui/p-59749f31.entry.js +0 -5
  301. package/dist/bromcom-ui/p-5bc314e4.entry.js +0 -5
  302. package/dist/bromcom-ui/p-626a65e9.js +0 -5
  303. package/dist/bromcom-ui/p-6ed4b153.entry.js +0 -5
  304. package/dist/bromcom-ui/p-73c223c8.entry.js +0 -5
  305. package/dist/bromcom-ui/p-7853a51e.entry.js +0 -5
  306. package/dist/bromcom-ui/p-7e3209a0.js +0 -14
  307. package/dist/bromcom-ui/p-88485410.entry.js +0 -5
  308. package/dist/bromcom-ui/p-891889f6.entry.js +0 -5
  309. package/dist/bromcom-ui/p-89f1571f.entry.js +0 -5
  310. package/dist/bromcom-ui/p-95fa989d.entry.js +0 -5
  311. package/dist/bromcom-ui/p-a7ed0981.entry.js +0 -5
  312. package/dist/bromcom-ui/p-b27f3556.js +0 -5
  313. package/dist/bromcom-ui/p-b48b8c98.entry.js +0 -5
  314. package/dist/bromcom-ui/p-b712ba6c.js +0 -5
  315. package/dist/bromcom-ui/p-b82685e4.js +0 -12
  316. package/dist/bromcom-ui/p-bb9aa7d4.entry.js +0 -5
  317. package/dist/bromcom-ui/p-bed627ab.js +0 -11
  318. package/dist/bromcom-ui/p-d3d07c8c.js +0 -5
  319. package/dist/bromcom-ui/p-e1877ee9.js +0 -5
  320. package/dist/bromcom-ui/p-ebf322d6.entry.js +0 -5
  321. package/dist/bromcom-ui/p-f659324d.entry.js +0 -5
  322. package/dist/bromcom-ui/p-fdcde7e8.entry.js +0 -5
  323. package/dist/cjs/bcm-date-picker.cjs.entry.js +0 -182
  324. package/dist/cjs/bcm-date.cjs.entry.js +0 -124
  325. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +0 -1451
  326. package/dist/cjs/bcm-form-2.cjs.entry.js +0 -212
  327. package/dist/cjs/bcm-old-input.cjs.entry.js +0 -397
  328. package/dist/cjs/bcm-rc-picker.cjs.entry.js +0 -8150
  329. package/dist/cjs/bcm-time-picker.cjs.entry.js +0 -150
  330. package/dist/cjs/datetime-helper-eaf4fadb.js +0 -11
  331. package/dist/cjs/index-c08b35b2.js +0 -1610
  332. package/dist/cjs/moment-c1a71617.js +0 -5689
  333. package/dist/esm/bcm-date-picker.entry.js +0 -178
  334. package/dist/esm/bcm-date.entry.js +0 -120
  335. package/dist/esm/bcm-datetime-picker.entry.js +0 -1447
  336. package/dist/esm/bcm-form-2.entry.js +0 -208
  337. package/dist/esm/bcm-old-input.entry.js +0 -393
  338. package/dist/esm/bcm-rc-picker.entry.js +0 -8146
  339. package/dist/esm/bcm-time-picker.entry.js +0 -146
  340. package/dist/esm/datetime-helper-df25808a.js +0 -9
  341. package/dist/esm/index-c4568336.js +0 -1594
  342. package/dist/esm/moment-24231dde.js +0 -5686
@@ -1,1447 +0,0 @@
1
- /*!
2
- * Built with Stencil
3
- * Copyright (c) Bromcom.
4
- */
5
- import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-0615c2b8.js';
6
- import { D as DragDirections, E as ElementDragger } from './element-dragger-7ea06c76.js';
7
- import { c as classnames } from './index-b84bc8c9.js';
8
- import { D as DateTimeHelper } from './datetime-helper-df25808a.js';
9
- import { d as delay } from './utils-b3338faf.js';
10
- import { G as Generate } from './generate-87200d1c.js';
11
- import { B as Bcm } from './bcm-ac17222c.js';
12
- import { g as getPlacement, s as setPosition } from './popover-placement-7cce412f.js';
13
- import { L as LabelTemplate } from './label-template-62e49c38.js';
14
- import { I as IsLoad } from './is-load-decorator-6784aa87.js';
15
- import './_commonjsHelpers-be0d4ec8.js';
16
- import './package-e0503891.js';
17
- import './colors-e1c31f79.js';
18
- import './string-helper-5ef67a66.js';
19
- import './slot-template-7447145d.js';
20
-
21
- var Months;
22
- (function (Months) {
23
- Months["january"] = "january";
24
- Months["february"] = "february";
25
- Months["march"] = "march";
26
- Months["april"] = "april";
27
- Months["may"] = "may";
28
- Months["june"] = "june";
29
- Months["july"] = "july";
30
- Months["august"] = "august";
31
- Months["september"] = "september";
32
- Months["october"] = "october";
33
- Months["november"] = "november";
34
- Months["december"] = "december";
35
- })(Months || (Months = {}));
36
- var Days;
37
- (function (Days) {
38
- Days["sunday"] = "sunday";
39
- Days["monday"] = "monday";
40
- Days["tuesday"] = "tuesday";
41
- Days["wednesday"] = "wednesday";
42
- Days["thursday"] = "thursday";
43
- Days["friday"] = "friday";
44
- Days["saturday"] = "saturday";
45
- })(Days || (Days = {}));
46
- /**
47
- * 'type' prop predefined values
48
- */
49
- var Types;
50
- (function (Types) {
51
- Types["datetime"] = "datetime";
52
- Types["range"] = "range";
53
- Types["date"] = "date";
54
- Types["time"] = "time";
55
- })(Types || (Types = {}));
56
-
57
- const datetimePickerCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); @import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); .size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.input-size-large{height:40px}.input-size-medium{height:32px}.input-size-small{height:24px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.textarea-size-large{padding:4px 0 0 4px;min-height:40px}.textarea-size-large .bcm-input-element{min-height:calc((40px - 8px) + 2px)}.textarea-size-large .input-clear-button{height:calc( 40px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-medium{padding:4px 0 0 4px;min-height:32px}.textarea-size-medium .bcm-input-element{min-height:calc((32px - 8px) + 2px)}.textarea-size-medium .input-clear-button{height:calc( 32px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-small{padding:0px 0 0 4px;min-height:24px}.textarea-size-small .bcm-input-element{min-height:calc((24px - 8px) + 2px)}.textarea-size-small .input-clear-button{height:calc( 24px - 16px );top:8px;padding:0;margin-right:8px}*{box-sizing:border-box}.bcm-caption-area{font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;font-size:12px;line-height:calc(12px + 8px);color:var(--bcm-new-ds-color-slate-400);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;margin-top:2px}.bcm-caption-area__text{color:var(--bcm-new-ds-color-slate-400)}.bcm-caption-area__text.default{color:var(--bcm-new-ds-color-slate-400)}.bcm-caption-area__text.info{color:var(--bcm-new-ds-color-blue-500)}.bcm-caption-area__text.success{color:var(--bcm-new-ds-color-emerald-500)}.bcm-caption-area__text.warning{color:var(--bcm-new-ds-color-amber-500)}.bcm-caption-area__text.error{color:var(--bcm-new-ds-color-red-500)}.bcm-caption-area__size-small{font-size:10px;line-height:calc(10px + 8px);min-height:calc(10px + 8px)}.bcm-caption-area__size-medium{font-size:12px;line-height:calc(12px + 8px);min-height:calc(12px + 8px)}.bcm-caption-area__size-large{font-size:14px;line-height:calc(14px + 8px);min-height:calc(14px + 8px)}*{box-sizing:border-box}.bcm-label{display:inline-flex;align-items:flex-start;grid-gap:2px}.bcm-label__text{margin-bottom:2px;font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;display:inline-block;color:var(--bcm-new-ds-color-slate-600)}.bcm-label__size-small{font-size:10px;line-height:calc(10px + 8px);min-height:calc(10px + 8px)}.bcm-label__size-medium{font-size:12px;line-height:calc(12px + 8px);min-height:calc(12px + 8px)}.bcm-label__size-large{font-size:14px;line-height:calc(14px + 8px);min-height:calc(14px + 8px)}.bcm-input[no-margin]{margin:0}.bcm-textarea[no-margin]{margin:0}.bcm-switch[no-margin]{margin:0}.bcm-checkbox[no-margin]{margin:0}.bcm-radio-group[no-margin]{margin:0}.bcm-checkbox-group[no-margin]{margin:0}.bcm-range[no-margin]{margin:0}.bcm-form[no-margin]{margin:0}.bcm-form-group[no-margin]{margin:0}.bcm-list[no-margin]{margin:0}.bcm-colorpicker[no-margin]{margin:0}.bcm-date-picker[no-margin]{margin:0}.bcm-time-picker[no-margin]{margin:0}.bcm-datetime-picker[no-margin]{margin:0}.bcm-select[no-margin]{margin:0}.bcm-listbox[no-margin]{margin:0}*{box-sizing:border-box}:host{display:inline-flex;flex-direction:column;position:relative;width:100%;max-width:256px;margin:0;margin-bottom:8px}:host(.full-width){max-width:100%}:host(.no-margin){margin:0}:host(.hidden){display:none}:host(.linked-component){display:none}.toggle{cursor:pointer}.toggle.disabled{cursor:not-allowed}.modules{display:flex}.picker-label{user-select:none;line-height:1}.datetime-picker{position:absolute;top:-1000px;display:inline-flex;flex-direction:column;box-shadow:0px 4px 4px rgba(0, 0, 0, 0.25);opacity:0;visibility:hidden;transition:transform 0.2s ease, opacity 0.3s ease;transform:scale(0.8) translateY(-100px);background-color:#ffffff;min-height:356px;max-height:356px;box-sizing:border-box;z-index:-1000}.datetime-picker.alignment-left{left:0}.datetime-picker.alignment-right{right:0}.datetime-picker.open{top:calc(100% - 28px);z-index:10000;opacity:1;visibility:visible;transform:scale(1) translateY(0)}.datetime-picker.open.no-caption{top:100%}.actions{display:flex;align-items:center;justify-content:space-between;padding:8px;margin-top:auto;border-top:1px solid var(--bcm-color-grey-6)}.actions .current-date{font-size:14px;line-height:22px;color:var(--bcm-color-prime-blue-6);text-transform:capitalize}.date-container+.time-container{border-left:1px solid #cecece}.time-container{width:185px}.time-container .bcm-datetime-picker__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-height:60px;border-bottom:1px solid var(--bcm-color-grey-4)}.time-container .bcm-datetime-picker__header .now{font-size:14px;line-height:22px;cursor:pointer;color:var(--bcm-color-prime-blue-6);user-select:none}.time-container .bcm-datetime-picker__content{position:relative;display:flex}.time-container .hours,.time-container .minutes,.time-container .time-period{position:relative;flex:1 1 100%;max-width:100%;height:280px;overflow:hidden}.time-container .hours .items>span,.time-container .minutes .items>span,.time-container .time-period .items>span{font-size:14px;color:var(--bcm-color-grey-8)}.time-container .hours .items>span.selected,.time-container .minutes .items>span.selected,.time-container .time-period .items>span.selected{color:var(--bcm-color-prime-blue-6)}.date-container{width:364px;}.date-container .bcm-datetime-picker__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-height:60px;border-bottom:1px solid var(--bcm-color-grey-4)}.date-container .bcm-datetime-picker__header .month-year-wrapper{display:flex;align-items:center;justify-content:center;margin:0 4px;min-width:125px}.date-container .bcm-datetime-picker__header .month-year{font-size:16px;line-height:24px}.date-container .bcm-datetime-picker__header .month-year{display:flex;align-items:center}.date-container .bcm-datetime-picker__header .month-year button{display:flex;align-items:center;box-shadow:none;background:transparent;outline:none;appearance:none;border:none;color:var(--bcm-color-prime-blue-6);cursor:pointer}.date-container .bcm-datetime-picker__header .month{text-transform:capitalize}.date-container .bcm-datetime-picker__header .year{padding-left:4px}.date-container .bcm-datetime-picker__header .today{font-size:14px;line-height:22px;cursor:pointer;color:var(--bcm-color-prime-blue-6);user-select:none}.date-container .bcm-datetime-picker__content{display:flex}.date-container .years{position:relative;flex:0 0 70px;max-width:70px;height:280px;overflow:hidden;background-color:var(--bcm-color-grey-2)}.date-container .days{width:100%}.date-container .day-numbers,.date-container .day-labels{display:grid;grid-template-columns:repeat(7, 1fr)}.date-container .day-numbers{padding:24px 24px}.date-container .day-numbers>span,.date-container .day-labels span{text-align:center}.date-container .day-numbers>span{position:relative;padding-bottom:100%;cursor:pointer}.date-container .day-numbers>span.not-this-month{color:var(--bcm-color-grey-4)}.date-container .day-numbers>span.is-weekend{color:var(--bcm-color-prime-blue-3)}.date-container .day-numbers>span.is-disabled-date:not(.today){color:var(--bcm-color-grey-4);cursor:not-allowed}.date-container .day-numbers>span.is-disabled-date:not(.today):before{opacity:0 !important}.date-container .day-numbers>span.today{color:var(--bcm-color-prime-blue-6)}.date-container .day-numbers>span.today:before{opacity:1;background-color:var(--bcm-color-prime-blue-2);border:1px solid var(--bcm-color-prime-blue-6)}.date-container .day-numbers>span.selected-start{background:linear-gradient(90deg, white 50%, #8abde2 50%) !important}.date-container .day-numbers>span.selected-end{background:linear-gradient(90deg, #8abde2 50%, white 50%) !important}.date-container .day-numbers>span.range{background:#8abde2}.date-container .day-numbers>span.range:not(.today){color:#ffffff}.date-container .day-numbers>span.range:not(.today):before{background-color:var(--bcm-color-prime-blue-6)}.date-container .day-numbers>span.range.is-weekend:not(.today){color:var(--bcm-color-prime-blue-2)}.date-container .day-numbers>span.selected,.date-container .day-numbers>span.selected-end{color:#ffffff}.date-container .day-numbers>span.selected:before,.date-container .day-numbers>span.selected-end:before{opacity:1;background-color:var(--bcm-color-prime-blue-6)}.date-container .day-numbers.start-1>span:first-child{grid-column:1}.date-container .day-numbers.start-2>span:first-child{grid-column:2}.date-container .day-numbers.start-3>span:first-child{grid-column:3}.date-container .day-numbers.start-4>span:first-child{grid-column:4}.date-container .day-numbers.start-5>span:first-child{grid-column:5}.date-container .day-numbers.start-6>span:first-child{grid-column:6}.date-container .day-numbers.start-7>span:first-child{grid-column:7}.date-container .day-numbers>span:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:var(--bcm-color-grey-4);opacity:0;box-sizing:border-box}.date-container .day-numbers>span:hover.not-this-month:not(.is-weekend){color:var(--bcm-color-grey-6)}.date-container .day-numbers>span:hover:before{opacity:1}.date-container .day-numbers .number{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.date-container .day-labels{padding:24px 40px 0 40px}.date-container .day-labels span{font-size:12px;color:var(--bcm-color-grey-6)}.date-container .day-labels span:nth-child(7n+6),.date-container .day-labels span:nth-child(7n+7){color:var(--bcm-color-prime-blue-3)}.years .items,.hours .items,.minutes .items,.time-period .items{position:relative;display:flex;flex-direction:column;z-index:0;transform:translateY(0);scroll-behavior:smooth}.years .items>span,.hours .items>span,.minutes .items>span,.time-period .items>span{text-align:center;font-size:12px;min-height:26px;max-height:26px;line-height:26px;color:var(--bcm-color-grey-8);user-select:none}.years:before,.years:after,.hours:before,.hours:after,.minutes:before,.minutes:after,.time-period:before,.time-period:after{content:\"\";position:absolute;left:0;width:100%;height:40px}.years:before,.hours:before,.minutes:before,.time-period:before{top:-40px;box-shadow:0 10px 100px 70px #ffffff;z-index:1}.years:after,.hours:after,.minutes:after,.time-period:after{bottom:-40px;box-shadow:0 -10px 100px 70px #ffffff;z-index:2}.select-strip{position:absolute;width:100%;top:50%;left:0;transform:translateY(-50%);min-height:26px;max-height:26px;border:1px solid var(--bcm-color-grey-5);border-left:0;border-right:0;pointer-events:none;box-sizing:border-box}.picker-input-container{display:flex;flex-direction:column;align-items:flex-start;justify-content:stretch}";
58
-
59
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
60
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
62
- r = Reflect.decorate(decorators, target, key, desc);
63
- else
64
- for (var i = decorators.length - 1; i >= 0; i--)
65
- if (d = decorators[i])
66
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
67
- return c > 3 && r && Object.defineProperty(target, key, r), r;
68
- };
69
- const stringify = JSON.stringify;
70
- const BcmDatetimePicker = class {
71
- constructor(hostRef) {
72
- registerInstance(this, hostRef);
73
- this.load = createEvent(this, "bcm-load", 7);
74
- this.change = createEvent(this, "bcm-change", 7);
75
- this.bcmOpen = createEvent(this, "bcm-open", 7);
76
- this.inputId = null;
77
- this.emptyState = false;
78
- this.initialized = false;
79
- this.disabledDatesList = { min: null, max: null, dates: [] };
80
- this.dayNumbers = [];
81
- this.valueText = null;
82
- this.dataIsValid = false;
83
- this._id = Generate.UID();
84
- this.date = new Date();
85
- this.endDate = null;
86
- this.type = Types.datetime;
87
- this.disabled = false;
88
- this.disabledDates = '';
89
- this.value = null;
90
- this._open = false;
91
- this.hidden = false;
92
- this.name = undefined;
93
- this.fullWidth = false;
94
- this.required = false;
95
- this.label = undefined;
96
- this.placeholder = undefined;
97
- this.minYear = 1900;
98
- this.maxYear = 2200;
99
- this.noCaption = false;
100
- this.noMargin = false;
101
- this.captionError = undefined;
102
- this.caption = '';
103
- this.captionType = 'default';
104
- this.alignment = undefined;
105
- this.placement = Bcm.Placement['bottom-start'];
106
- this.linkedComponent = undefined;
107
- this.clearable = false;
108
- this.years = [];
109
- this.hours = [];
110
- this.minutes = [];
111
- this.hasDateModule = false;
112
- this.hasTimeModule = false;
113
- this.renderDate = undefined;
114
- this.selectedDate = undefined;
115
- this.selectedEndDate = undefined;
116
- this.error = false;
117
- this.errorText = '';
118
- this.tick = {};
119
- }
120
- markForCheck() {
121
- this.tick = Generate.UID();
122
- }
123
- openChanged() {
124
- this.bcmOpen.emit(this._open);
125
- }
126
- /**
127
- * @ComponentMethod
128
- */
129
- componentWillLoad() {
130
- this.inputId = 'picker-input-' + this._id;
131
- this.hasDateModule = this.type === Types.datetime
132
- || this.type === Types.date
133
- || this.type === Types.range;
134
- this.hasTimeModule = this.type === Types.datetime
135
- || this.type === Types.time;
136
- this.prepareDisabledDates();
137
- this.setData();
138
- // Generate year, hour, minute sequences
139
- // #
140
- if (!this.initialized) {
141
- for (let i = this.minYear; i <= this.maxYear; i++)
142
- this.years.push(i);
143
- for (let i = 0; i <= 23; i++)
144
- this.hours.push(i);
145
- for (let i = 0; i <= 59; i++)
146
- this.minutes.push(i);
147
- this.load.emit();
148
- }
149
- this.initialized = true;
150
- }
151
- /**
152
- * @ComponentMethod
153
- */
154
- componentDidRender() {
155
- // Create years selection
156
- // #
157
- if (this.hasDateModule && !this.yearsDragger) {
158
- this.createDragSelection('years', this.yearsElement, this.yearsWrapperElement, this.yearsStripElement, DragDirections.y);
159
- this.createWheelChange('years', this.yearsWrapperElement, this.yearsStripElement);
160
- this.setDragSelection('years', this.currentDate.year);
161
- }
162
- // Create hours selection
163
- // #
164
- if (this.hasTimeModule && !this.hoursDragger) {
165
- this.createDragSelection('hours', this.hoursElement, this.hoursWrapperElement, this.timeStripElement, DragDirections.y);
166
- this.createWheelChange('hours', this.hoursWrapperElement, this.timeStripElement);
167
- this.setDragSelection('hours', this.currentDate.hour);
168
- }
169
- // Create minutes selection
170
- // #
171
- if (this.hasTimeModule && !this.minutesDragger) {
172
- this.createDragSelection('minutes', this.minutesElement, this.minutesWrapperElement, this.timeStripElement, DragDirections.y);
173
- this.createWheelChange('minutes', this.minutesWrapperElement, this.timeStripElement);
174
- this.setDragSelection('minutes', this.currentDate.minute);
175
- }
176
- }
177
- /**
178
- * @desc
179
- * @param newValue
180
- */
181
- renderDateChange() {
182
- if (!this.initialized)
183
- return;
184
- this.setData();
185
- this.hasDateModule && this.setDragSelection('years', this.currentDate.year);
186
- }
187
- /**
188
- * @desc
189
- * @param newValue
190
- */
191
- openChange(newValue) {
192
- if (newValue) {
193
- this.calculateLocation();
194
- // Create years selection
195
- // #
196
- if (this.hasDateModule) {
197
- this.createDragSelection('years', this.yearsElement, this.yearsWrapperElement, this.yearsStripElement, DragDirections.y);
198
- this.createWheelChange('years', this.yearsWrapperElement, this.yearsStripElement);
199
- this.setDragSelection('years', this.currentDate.year);
200
- }
201
- // Create hours selection
202
- // #
203
- if (this.hasTimeModule) {
204
- this.createDragSelection('hours', this.hoursElement, this.hoursWrapperElement, this.timeStripElement, DragDirections.y);
205
- this.createWheelChange('hours', this.hoursWrapperElement, this.timeStripElement);
206
- this.setDragSelection('hours', this.currentDate.hour, true);
207
- }
208
- // Create minutes selection
209
- // #
210
- if (this.hasTimeModule) {
211
- this.createDragSelection('minutes', this.minutesElement, this.minutesWrapperElement, this.timeStripElement, DragDirections.y);
212
- this.createWheelChange('minutes', this.minutesWrapperElement, this.timeStripElement);
213
- this.setDragSelection('minutes', this.currentDate.minute, true);
214
- }
215
- this.markForCheck();
216
- forceUpdate(this.el);
217
- }
218
- }
219
- /**
220
- * @desc
221
- * @param newValue
222
- */
223
- valueChange(newValue, oldValue) {
224
- const errorObject1 = { isValid: false, value: this.valueText };
225
- const errorObject2 = { isValid: false, value: this.inputElement.value };
226
- if (!newValue) {
227
- this.change.emit();
228
- return;
229
- }
230
- if (this.type !== Types.range && this.error) {
231
- this.change.emit(errorObject2);
232
- return;
233
- }
234
- try {
235
- if ((oldValue && stringify(newValue.dateObject) !== stringify(oldValue.dateObject)) || (!oldValue && newValue)) {
236
- if (this.type === Types.date || this.type === Types.datetime) {
237
- this.change.emit(newValue);
238
- }
239
- if (this.type === Types.time) {
240
- this.change.emit(newValue);
241
- // this.change.emit({
242
- // time: newValue.time,
243
- // timeObject: newValue.dateObject
244
- // })
245
- }
246
- if (this.type === Types.range) {
247
- const dateObject = newValue.dateObject;
248
- if (dateObject.start.date && dateObject.end.date) {
249
- if (newValue.isValid) {
250
- this.change.emit({
251
- isValid: newValue.isValid,
252
- value: newValue.value,
253
- start: dateObject.start,
254
- end: dateObject.end
255
- });
256
- }
257
- }
258
- else {
259
- this.change.emit(errorObject1);
260
- }
261
- }
262
- }
263
- }
264
- catch (exception) { }
265
- }
266
- /**
267
- * @desc
268
- * @param newValue -
269
- */
270
- disabledDatesChange(newValue) {
271
- if (newValue) {
272
- this.prepareDisabledDates();
273
- }
274
- }
275
- /**
276
- * @desc
277
- * @param date
278
- */
279
- stringToDate(date) {
280
- const isDate = !!date.getMonth;
281
- if (!isDate) {
282
- return new Date(Date.parse(this.switchDDMM(date)));
283
- }
284
- return date;
285
- }
286
- /**
287
- * @desc
288
- * @param date
289
- */
290
- dateToString(date) {
291
- if (!(date instanceof Date))
292
- return false;
293
- }
294
- /**
295
- *
296
- * @param str
297
- */
298
- switchDDMM(str) {
299
- if (!str)
300
- return;
301
- const parts = str.split('/');
302
- if (str.indexOf('/') === -1 || parts.length !== 3)
303
- return str;
304
- return `${parts[1]}/${parts[0]}/${parts[2]}`;
305
- }
306
- /**
307
- * @desc
308
- */
309
- setData() {
310
- this.date = this.stringToDate(this.date);
311
- if (!this.initialized && !this.renderDate) {
312
- this.renderDate = this.date && this.date || new Date();
313
- }
314
- if (!this.initialized && this.endDate) {
315
- this.selectedEndDate = this.stringToDate(this.endDate);
316
- //this.currentEndDate = this.createDateObject(this.selectedEndDate)
317
- }
318
- const date = this.renderDate;
319
- this.currentDate = this.createDateObject(date);
320
- // Calculate days in current
321
- // month
322
- this.dayNumbers = this.getMonthDayNumbers(date).map(day => {
323
- return {
324
- day,
325
- thisMonth: true,
326
- isWeekend: this.getDayIsWeekend(date, day),
327
- today: this.getIsCurrentDate(date, day),
328
- date: this.getTargetDayDate(date, day)
329
- };
330
- });
331
- // Add prev month days to
332
- // empty columns
333
- if (this.currentDate.year > this.minYear) {
334
- let targetMonth = new Date(new Date(date).setMonth(this.currentDate.month - 1, 1));
335
- let targetMonthDayNumbers = this.getMonthDayNumbers(targetMonth).reverse();
336
- let max = this.currentDate.monthFirstDay;
337
- for (let i = 1; i < (max === 0 ? 7 : max); i++) {
338
- const day = targetMonthDayNumbers[i - 1];
339
- this.dayNumbers.unshift({
340
- day,
341
- prevMonth: true,
342
- isWeekend: this.getDayIsWeekend(targetMonth, day),
343
- date: this.getTargetDayDate(targetMonth, day)
344
- });
345
- }
346
- }
347
- // Add next month days to
348
- // rest of columns
349
- if (this.currentDate.year < this.maxYear) {
350
- let targetMonth = new Date(new Date(date).setMonth(this.currentDate.month + 1));
351
- let targetMonthDayNumbers = this.getMonthDayNumbers(targetMonth);
352
- let max = 42 - this.dayNumbers.length;
353
- for (let i = 0; i < max; i++) {
354
- const day = targetMonthDayNumbers[i];
355
- this.dayNumbers.push({
356
- day,
357
- nextMonth: true,
358
- isWeekend: this.getDayIsWeekend(targetMonth, day),
359
- date: this.getTargetDayDate(targetMonth, day)
360
- });
361
- }
362
- }
363
- if (!this.emptyState) {
364
- this.valueText = this.getValueText();
365
- }
366
- forceUpdate(this.el);
367
- }
368
- /**
369
- * @desc
370
- */
371
- prepareDisabledDates() {
372
- if (!this.disabledDates)
373
- return;
374
- let disabledDatesData = null;
375
- if (typeof this.disabledDates === 'string') {
376
- try {
377
- disabledDatesData = JSON.parse(this.disabledDates);
378
- }
379
- catch (e) {
380
- return;
381
- }
382
- }
383
- else
384
- disabledDatesData = this.disabledDates;
385
- // Convert dates to list
386
- // #
387
- if (disabledDatesData.dates && disabledDatesData.dates.length && !!disabledDatesData.dates.length) {
388
- const disabledDates = disabledDatesData.dates.map(date => {
389
- const tempDate = new Date(date);
390
- if (tempDate.toString().toLowerCase() === 'invalid date')
391
- return null;
392
- else
393
- return tempDate;
394
- }).filter(date => date);
395
- this.disabledDatesList.dates = disabledDates;
396
- }
397
- // Get min & max range
398
- // #
399
- if (disabledDatesData.min &&
400
- disabledDatesData.max && (disabledDatesData.min.getTime() > disabledDatesData.max.getTime() ||
401
- disabledDatesData.max.getTime() < disabledDatesData.min.getTime())) {
402
- return;
403
- }
404
- if (disabledDatesData.min && disabledDatesData.min instanceof Date) {
405
- this.disabledDatesList.min = new Date(disabledDatesData.min.toDateString());
406
- }
407
- else {
408
- delete this.disabledDatesList.min;
409
- }
410
- if (disabledDatesData.max && disabledDatesData.max instanceof Date) {
411
- this.disabledDatesList.max = new Date(disabledDatesData.max.toDateString());
412
- }
413
- else {
414
- delete this.disabledDatesList.max;
415
- }
416
- const value = this.inputElement && this.inputElement.value;
417
- value && this.setDataFromText(value);
418
- }
419
- /**
420
- *
421
- * @param target
422
- * @param wheelTriggerElement
423
- * @param strip
424
- */
425
- createWheelChange(target, wheelTriggerElement, strip) {
426
- /**
427
- * [ Mouse Event: wheel ]
428
- */
429
- wheelTriggerElement.addEventListener('wheel', (event) => {
430
- const moveDown = event.deltaY > 0;
431
- const dragger = this[target + 'Dragger'];
432
- const draggerOffsetY = dragger.getOffset().top;
433
- const childIdx = this.getTargetChildByDragPosition({ y: draggerOffsetY }, strip);
434
- let nextChild = moveDown ? childIdx + 1 : childIdx - 1;
435
- // Array bounds check
436
- // #
437
- nextChild < 0
438
- ? (nextChild = 0) : typeof this[target][nextChild] === 'undefined'
439
- ? (nextChild = this[target].length - 1) : nextChild;
440
- if (this.type == "time" && !this.selectedDate) {
441
- this.setTime();
442
- }
443
- this.setDragSelection(target, this[target][nextChild], true, true);
444
- });
445
- }
446
- /**
447
- * @desc
448
- */
449
- createDragSelection(target, element, dragTriggerElement, strip, direction) {
450
- const dragger = target + 'Dragger';
451
- this[dragger] = new ElementDragger({
452
- target: element,
453
- trigger: dragTriggerElement,
454
- direction: direction,
455
- useTransform: true,
456
- limit: {
457
- y: {
458
- max: strip.offsetTop - (strip.offsetHeight / 2),
459
- min: (element.offsetHeight - (strip.offsetTop + strip.offsetHeight / 2)) * -1
460
- }
461
- }
462
- });
463
- /**
464
- * [ ElementDragger Event: end ]
465
- */
466
- this[dragger].on('end', (pos) => {
467
- const childIdx = this.getTargetChildByDragPosition(pos, strip);
468
- // Select target child when dragging
469
- // end
470
- this.selectTargetChildByDragIdx(childIdx, strip, this[dragger]);
471
- // Set target value
472
- // #
473
- this.setDragSelection(target, this[target][childIdx], false);
474
- });
475
- }
476
- /**
477
- * @desc Calculates which child in center of strip
478
- * for drag areas
479
- */
480
- getTargetChildByDragPosition({ y }, strip) {
481
- const stripHeight = strip.offsetHeight;
482
- const stripCenter = stripHeight / 2;
483
- const stripTriggerY = strip.offsetTop - (stripCenter);
484
- const childY = -(y - stripTriggerY - (stripCenter));
485
- return Math.floor(childY / stripHeight);
486
- }
487
- /**
488
- * @esc
489
- * @param target
490
- * @param childIdx
491
- */
492
- selectTargetChildByDragIdx(childIdx, strip, dragger, anim = true) {
493
- const y = ((strip.offsetHeight / 2) + strip.offsetTop) - ((childIdx + 1) * (strip.offsetHeight));
494
- dragger.setPosition({ y, anim });
495
- }
496
- /**
497
- * @desc
498
- * @param year
499
- */
500
- setDragSelection(target, value, scroll = true, anim = false) {
501
- // if (!value) return
502
- const childIdx = this[target].findIndex((itemValue) => itemValue === value);
503
- scroll && this.selectTargetChildByDragIdx(childIdx, this[target === 'years' ? target + 'StripElement' : 'timeStripElement'], this[target + 'Dragger'], anim);
504
- switch (target) {
505
- case 'years':
506
- this.date.setFullYear(value);
507
- break;
508
- case 'hours':
509
- this.date.setHours(value);
510
- break;
511
- case 'minutes':
512
- this.date.setMinutes(value);
513
- break;
514
- }
515
- this.renderDate = this.date;
516
- this.setData();
517
- if (this.selectedDate) {
518
- this.setValue();
519
- }
520
- }
521
- /**
522
- * @desc
523
- * @returns
524
- */
525
- getHours12() {
526
- const hours = (this.date.getHours() + 24) % 12 || 12;
527
- return hours > 12 ? hours - 12 : hours;
528
- }
529
- /**
530
- * @desc
531
- * @param date
532
- * @param excludeTime -
533
- */
534
- createDateObject(date, { excludeTime = false, exactMonthNumber = false } = {}) {
535
- const dateYear = date.getFullYear();
536
- const year = dateYear >= this.maxYear
537
- ? this.maxYear : dateYear <= this.minYear
538
- ? this.minYear : dateYear;
539
- return Object.assign(Object.assign({ year, day: date.getDate(), month: date.getMonth() + (exactMonthNumber ? 1 : 0), dayOfWeek: date.getDay(), monthFirstDay: new Date(new Date(date).setDate(1)).getDay() }, !excludeTime && { hour: date.getHours() }), !excludeTime && { minute: date.getMinutes() });
540
- }
541
- /**
542
- * @desc
543
- * @param max
544
- */
545
- generateDaysArrayFromMax(max) {
546
- return Array.from(Array(max + 1).keys()).slice(1);
547
- }
548
- /**
549
- * @desc
550
- * @param date
551
- */
552
- getMonthDayNumbers(date) {
553
- const totalDays = this.getDaysInMonth(date.getMonth(), date.getFullYear());
554
- return this.generateDaysArrayFromMax(totalDays);
555
- }
556
- /**
557
- * @desc
558
- * @param date
559
- * @param day
560
- */
561
- getTargetDayDate(date, day) {
562
- return new Date(new Date(date).setDate(day));
563
- }
564
- /**
565
- * @desc
566
- * @param date
567
- * @param day
568
- */
569
- getDayIsWeekend(date, day) {
570
- const dayOfWeek = new Date(new Date(date).setDate(day)).getDay();
571
- return (dayOfWeek === 6) || (dayOfWeek === 0);
572
- }
573
- /**
574
- * @desc
575
- * @param date
576
- */
577
- getClock(date) {
578
- date = date || new Date();
579
- const hours = date.getHours();
580
- const minutes = date.getMinutes();
581
- const seconds = date.getSeconds();
582
- const milis = date.getMilliseconds();
583
- return { hours, minutes, seconds, milis };
584
- }
585
- /**
586
- * @desc
587
- */
588
- setValue(reset) {
589
- var _a, _b, _c;
590
- const date = new Date(this.date.setHours(Number(this.currentDate.hour), Number(this.currentDate.minute)));
591
- if (reset) {
592
- this.value = null;
593
- return;
594
- }
595
- this.dataIsValid = true;
596
- if (this.type === Types.datetime) {
597
- const dateObject = Object.assign({}, this.currentDate);
598
- dateObject.month += 1;
599
- if (((_a = this.value) === null || _a === void 0 ? void 0 : _a.value) != this.valueText) {
600
- this.value = {
601
- isValid: this.dataIsValid,
602
- date: date,
603
- timestamp: date.getTime(),
604
- dateObject,
605
- value: this.valueText
606
- };
607
- }
608
- }
609
- if (this.type === Types.date) {
610
- const dateObject = Object.assign({}, this.currentDate);
611
- delete dateObject.hour;
612
- delete dateObject.minute;
613
- dateObject.month += 1;
614
- if (((_b = this.value) === null || _b === void 0 ? void 0 : _b.value) != this.valueText) {
615
- this.value = {
616
- isValid: this.dataIsValid,
617
- date,
618
- timestamp: date.getTime(),
619
- dateObject,
620
- value: this.valueText
621
- };
622
- }
623
- }
624
- if (this.type === Types.time) {
625
- const getTimeText = this.getTimeText();
626
- const dateObject = Object.assign({}, this.currentDate);
627
- dateObject.month += 1;
628
- this.value = {
629
- isValid: this.dataIsValid,
630
- date: date,
631
- timestamp: date.getTime(),
632
- time: getTimeText,
633
- dateObject,
634
- timeObject: {
635
- hours: this.currentDate.hour,
636
- minutes: this.currentDate.minute
637
- },
638
- value: getTimeText
639
- };
640
- this.inputElement.value = getTimeText;
641
- }
642
- if (this.type === Types.range) {
643
- if (((_c = this.value) === null || _c === void 0 ? void 0 : _c.value) != this.valueText) {
644
- this.value = {
645
- isValid: this.dataIsValid,
646
- dateObject: {
647
- start: Object.assign({}, this.selectedDate && {
648
- date: this.selectedDate,
649
- timestamp: this.selectedDate.getTime(),
650
- detail: this.createDateObject(this.selectedDate, {
651
- excludeTime: true,
652
- exactMonthNumber: true
653
- })
654
- }),
655
- end: Object.assign({}, this.selectedEndDate && {
656
- date: this.selectedEndDate,
657
- timestamp: this.selectedEndDate.getTime(),
658
- detail: this.createDateObject(this.selectedEndDate, {
659
- excludeTime: true,
660
- exactMonthNumber: true
661
- })
662
- })
663
- },
664
- value: this.valueText
665
- };
666
- }
667
- }
668
- }
669
- /**
670
- * @desc
671
- * @param month
672
- */
673
- setMonth(month) {
674
- this.renderDate.setDate(1);
675
- this.renderDate = new Date(this.renderDate.setMonth(month));
676
- this.setDragSelection('years', this.currentDate.year);
677
- }
678
- /**
679
- * @desc
680
- * @param popupClosing -
681
- */
682
- checkRangeValidation({ popupClosing = false } = {}) {
683
- if (this.type !== Types.range)
684
- return true;
685
- const errorText = 'date range invalid';
686
- if (popupClosing && (!this.selectedDate || this.selectedDate && !this.selectedEndDate)) {
687
- this.setError(true, errorText);
688
- return false;
689
- }
690
- if (!popupClosing) {
691
- this.setError(false);
692
- return true;
693
- }
694
- return true;
695
- }
696
- /**
697
- * @desc
698
- * @param value
699
- * @param max
700
- * @returns
701
- */
702
- pad(value, max) {
703
- return value < max ? '0' : '';
704
- }
705
- /**
706
- * @desc
707
- * @returns
708
- */
709
- isInputClearable() {
710
- if (this.inputElement && this.inputElement.value) {
711
- return true;
712
- }
713
- return false;
714
- }
715
- /**
716
- * @desc
717
- * @param date
718
- */
719
- isDisabledDate(date) {
720
- if (!!this.disabledDatesList.dates.map(d => this.isSameDate(d, date)).filter(d => d).length)
721
- return true;
722
- if (this.disabledDatesList.min) {
723
- const minDate = new Date(this.disabledDatesList.min);
724
- if (minDate && minDate.getTime() > date.getTime())
725
- return true;
726
- }
727
- if (this.disabledDatesList.max) {
728
- const maxDate = new Date(this.disabledDatesList.max);
729
- if (maxDate && new Date(maxDate.setDate(maxDate.getDate() + 1)).getTime() < date.getTime())
730
- return true;
731
- }
732
- }
733
- /**
734
- * @desc
735
- * @param date
736
- */
737
- setDate(date, isUserSelect, notClosePicker = false) {
738
- const isRange = this.type === Types.range;
739
- const isEndSelect = !!this.selectedEndDate;
740
- // Check disabled date
741
- // #
742
- if ((this.type === Types.date || this.type === Types.datetime) && this.isDisabledDate(date)) {
743
- return;
744
- }
745
- this.emptyState = false;
746
- if (!isRange || (isRange && !isEndSelect)) {
747
- this.date = new Date(date.setHours(this.currentDate.hour, this.currentDate.minute));
748
- }
749
- isRange && this.checkRangeValidation();
750
- if (isRange && this.selectedDate && this.selectedEndDate) {
751
- this.selectedDate = null;
752
- this.selectedEndDate = null;
753
- }
754
- if (isUserSelect) {
755
- const newDate = new Date(date);
756
- !isRange
757
- ? this.selectedDate = newDate
758
- : !this.selectedDate
759
- ? this.selectedDate = newDate
760
- : this.selectedDate.getTime() > newDate.getTime()
761
- ? (this.selectedEndDate = this.selectedDate) && (this.selectedDate = newDate)
762
- : this.selectedEndDate = newDate;
763
- !isRange && (this._open = notClosePicker);
764
- this.renderDate = this.date;
765
- this.valueText = this.getValueText();
766
- this.setValue();
767
- const splitText = this.valueText.split('/');
768
- const newValue = this.valueText ? this.changeFormat(new Date(splitText[1] + "/" + splitText[0] + "/" + splitText[2])) : '';
769
- this.inputElement.value = newValue;
770
- }
771
- }
772
- setDataFromText(text, updateData = false, openPicker = true) {
773
- let update = false;
774
- let errorState = '';
775
- const parsed = this.parse(text);
776
- if ((this.type === Types.date || this.type === Types.datetime) && this.isDisabledDate(parsed.date)) {
777
- parsed.dateIsValid = false;
778
- errorState = 'disabled-date';
779
- }
780
- // Check mode datetime
781
- // #
782
- if (this.type === Types.datetime && parsed.dateIsValid && parsed.timeIsValid) {
783
- updateData && this.setDate(parsed.date, true, openPicker);
784
- updateData && this.setTime(parsed.timeSections[0], parsed.timeSections[1]);
785
- update = true;
786
- }
787
- // Check mode date
788
- // #
789
- if (this.type === Types.date && parsed.dateIsValid) {
790
- updateData && this.setDate(parsed.date, true, openPicker);
791
- update = true;
792
- }
793
- // Check mode time
794
- // #
795
- if (this.type === Types.time && parsed.timeIsValid) {
796
- updateData && this.setTime(parsed.timeSections[0], parsed.timeSections[1]);
797
- update = true;
798
- }
799
- // Check mode range
800
- // #
801
- if (this.type === Types.range) {
802
- if (parsed.dateIsValid && !this.selectedDate) {
803
- updateData && this.setDate(parsed.date, true, openPicker);
804
- update = true;
805
- }
806
- if (parsed.date2IsValid && !this.selectedEndDate) {
807
- updateData && this.setDate(parsed.date2, true, openPicker);
808
- update = true;
809
- }
810
- if (this.selectedDate && this.selectedEndDate && parsed.rangeIsValid) {
811
- if (this.isSameDate(parsed.date2, this.selectedEndDate) && !this.isSameDate(parsed.date, this.selectedDate)) {
812
- this.selectedDate = null;
813
- updateData && this.setDate(parsed.date, true, openPicker);
814
- update = true;
815
- }
816
- if (this.isSameDate(parsed.date, this.selectedDate) && !this.isSameDate(parsed.date2, this.selectedEndDate)) {
817
- this.selectedEndDate = null;
818
- updateData && this.setDate(parsed.date2, true, openPicker);
819
- update = true;
820
- }
821
- }
822
- if (this.selectedDate && this.selectedEndDate && !parsed.rangeIsValid && updateData) {
823
- this.selectedDate = null;
824
- this.selectedEndDate = null;
825
- }
826
- }
827
- // Fix: render warning
828
- if (update) {
829
- if (updateData) {
830
- this.renderDate = this.date;
831
- }
832
- this.setError(false);
833
- }
834
- else {
835
- if (this.type === Types.range && this.selectedDate && this.selectedEndDate && parsed.rangeIsValid) {
836
- this.setError(false);
837
- }
838
- else {
839
- if (errorState) {
840
- this.setError(true, (errorState === 'disabled-date' && 'selected date is not allowed'));
841
- }
842
- else {
843
- if (text) {
844
- this.setError(true, (this.type === Types.datetime && 'invalid date or time') ||
845
- (this.type === Types.range && 'invalid date range') ||
846
- (this.type === Types.date && 'The selected date is not allowed.') ||
847
- (this.type === Types.time && 'invalid time'));
848
- }
849
- this.setValue(true);
850
- }
851
- }
852
- const splitText = text.split('/');
853
- const newValue = text && !this.error ? this.changeFormat(new Date(splitText[1] + "/" + splitText[0] + "/" + splitText[2])) : '';
854
- this.inputElement.value = newValue;
855
- }
856
- }
857
- /**
858
- * @desc
859
- */
860
- setDateToday() {
861
- const date = new Date();
862
- if (this.type === Types.range) {
863
- this.selectedDate = null;
864
- this.selectedEndDate = null;
865
- }
866
- this.setDate(date, true, false);
867
- }
868
- HourContentDblClick(e) {
869
- const getPath = Generate.findEventPathWithNodeName(e, 'SPAN');
870
- if (getPath && getPath.classList.contains('selected')) {
871
- this.setValue();
872
- this._open = false;
873
- }
874
- }
875
- /**
876
- * @desc
877
- */
878
- setTime(hours, minutes) {
879
- this.renderDate = new Date(this.date.setHours(Number(hours || this.getClock().hours), Number(minutes || this.getClock().minutes)));
880
- if (this.type === Types.time) {
881
- this.selectedDate = this.date;
882
- }
883
- const hour = this.currentDate.hour || new Date().getHours();
884
- const minute = this.currentDate.minute || new Date().getMinutes();
885
- this.setDragSelection('hours', hour, true, true);
886
- this.setDragSelection('minutes', minute, true, true);
887
- }
888
- /**
889
- * @desc
890
- * @param state
891
- * @param error
892
- */
893
- setError(state = false, error = '') {
894
- this.error = state;
895
- this.errorText = !state ? '' : error;
896
- }
897
- /**
898
- * @desc
899
- */
900
- getError() {
901
- const { error, errorText } = this;
902
- return { valid: !error, error, errorText };
903
- }
904
- /**
905
- * @desc
906
- * @param month
907
- * @param year
908
- */
909
- getDaysInMonth(month, year) {
910
- return new Date(year, month + 1, 0).getDate();
911
- }
912
- /**
913
- * @desc
914
- * @param date
915
- * @param day
916
- * @returns
917
- */
918
- getIsCurrentDate(date, day) {
919
- const today = new Date();
920
- return today.getDate() === day
921
- && today.getMonth() === date.getMonth()
922
- && today.getFullYear() === date.getFullYear();
923
- }
924
- /**
925
- * @desc
926
- * @param date1
927
- * @param date2
928
- */
929
- isSameDate(date1, date2) {
930
- return (date1.getFullYear() === date2.getFullYear() &&
931
- date1.getMonth() === date2.getMonth() &&
932
- date1.getDate() === date2.getDate());
933
- }
934
- /**
935
- * @desc
936
- * @param date
937
- * @returns
938
- */
939
- getSelected(date, endDate = false) {
940
- const selectPart = endDate ? 'EndDate' : 'Date';
941
- const targetDate = new Date(this['selected' + selectPart]);
942
- const year = targetDate.getFullYear();
943
- const month = targetDate.getMonth();
944
- const day = targetDate.getDate();
945
- const isSelected = date.getDate() === day
946
- && date.getMonth() === month
947
- && date.getFullYear() === year;
948
- return isSelected;
949
- }
950
- /**
951
- * @desc
952
- * @param date
953
- */
954
- getDateIsInRange(date) {
955
- if (this.type !== Types.range || (!this.selectedDate || !this.selectedEndDate))
956
- return;
957
- const current = date.getTime();
958
- const start = this.selectedDate.getTime();
959
- const end = this.selectedEndDate.getTime();
960
- return current > start && current < end;
961
- }
962
- /**
963
- * @desc
964
- */
965
- getMonthText() {
966
- return Object.values(Months)[this.renderDate.getMonth()];
967
- }
968
- /**
969
- * @desc
970
- */
971
- getCurrentDateText() {
972
- const dayText = Object.values(Days)[this.currentDate.dayOfWeek];
973
- const monthText = Object.values(Months)[this.currentDate.month];
974
- const text = `${dayText}, ${this.currentDate.day}th ${monthText} ${this.currentDate.year}`;
975
- return text;
976
- }
977
- /**
978
- * @desc
979
- * @returns
980
- */
981
- getTimeText() {
982
- const { hour, minute } = this.currentDate;
983
- return `${hour < 10 ? '0' + hour : hour}:${minute < 10 ? '0' + minute : minute}`;
984
- }
985
- /**
986
- *
987
- */
988
- getValueText() {
989
- if (!this.selectedDate)
990
- return '';
991
- const selectedDate = this.selectedDate;
992
- const year = selectedDate.getFullYear();
993
- const day = selectedDate.getDate();
994
- const baseMonth = selectedDate.getMonth();
995
- const month = baseMonth + 1;
996
- let text = '';
997
- if (this.type === Types.date || this.type === Types.datetime) {
998
- text = `${day < 10 ? '0' + day : day}/${month < 10 ? '0' + month : month}/${year}`;
999
- }
1000
- if (this.type === Types.time) {
1001
- text = this.getTimeText();
1002
- }
1003
- if (this.type === Types.datetime) {
1004
- text = `${text} ${this.getTimeText()}`;
1005
- }
1006
- if (this.type === Types.range) {
1007
- text = `${day < 10 ? '0' + day : day}/${month < 10 ? '0' + month : month}/${year}`;
1008
- }
1009
- if (this.type === Types.range && this.selectedEndDate) {
1010
- const endDate = this.selectedEndDate;
1011
- const endYear = endDate.getFullYear();
1012
- const endDay = endDate.getDate();
1013
- const endBaseMonth = endDate.getMonth();
1014
- const endMonth = endBaseMonth + 1;
1015
- text += `-${endDay < 10 ? '0' + endDay : endDay}/${endMonth < 10 ? '0' + endMonth : endMonth}/${endYear}`;
1016
- }
1017
- this.setDataFromText(text);
1018
- return text;
1019
- }
1020
- parseDate(input) {
1021
- var parts = input.split('/');
1022
- var day = parseInt(parts[0], 10);
1023
- var month = parseInt(parts[1], 10) - 1;
1024
- var year = parseInt(parts[2], 10);
1025
- if (isNaN(day) || isNaN(month) || isNaN(year)) {
1026
- return 'invalid date';
1027
- }
1028
- var date = new Date(year, month, day);
1029
- if (date.getDate() !== day || date.getMonth() !== month || date.getFullYear() !== year) {
1030
- return 'invalid date';
1031
- }
1032
- return date;
1033
- }
1034
- /**
1035
- * @desc
1036
- * @param dateStr
1037
- */
1038
- parse(dateStr) {
1039
- const sections = dateStr.split(this.type === Types.range ? '-' : ' ');
1040
- // const sections: Array<string> = dateStr.split("-")
1041
- const sectionDate = this.switchDDMM(sections[0]);
1042
- const sectionDate2 = this.switchDDMM(sections[1]);
1043
- const sectionTime = this.type === Types.datetime ? sections[1] : sections[0];
1044
- const date = new Date(sectionDate);
1045
- const date2 = new Date(sectionDate2);
1046
- const dateCheck = date.toString().toLowerCase() !== 'invalid date' && this.parseDate(dateStr) !== 'invalid date';
1047
- const dateCheck2 = date2.toString().toLowerCase() !== 'invalid date';
1048
- const regDate = /^((0?[1-9]|1[0-2])(-|\/)(0?[1-9]|[12]\d|3[01])(-|\/)[12]\d{3})$/;
1049
- const regDateCheck = regDate.test(sectionDate);
1050
- const regDateCheck2 = regDate.test(sectionDate2);
1051
- const regTime = /\b([01][0-9]|2[0-3]):([0-5][0-9])\b/;
1052
- const regTimeCheck = regTime.test(sectionTime);
1053
- const dateIsValid = dateCheck && regDateCheck;
1054
- const date2IsValid = dateCheck2 && regDateCheck2;
1055
- const timeSections = regTimeCheck ? sectionTime.split(':') : '';
1056
- return {
1057
- date,
1058
- date2,
1059
- timeSections,
1060
- dateIsValid,
1061
- date2IsValid,
1062
- rangeIsValid: dateIsValid && date2IsValid,
1063
- timeIsValid: regTimeCheck
1064
- };
1065
- }
1066
- /**
1067
- * @desc
1068
- */
1069
- getPrevMonth() {
1070
- this.setMonth(this.renderDate.getMonth() - 1);
1071
- }
1072
- /**
1073
- * @desc
1074
- */
1075
- getNextMonth() {
1076
- this.setMonth(this.renderDate.getMonth() + 1);
1077
- }
1078
- /**
1079
- * @desc
1080
- * @param idx
1081
- */
1082
- yearClick(idx) {
1083
- if (this.yearsDragger.busy)
1084
- return;
1085
- this.setDragSelection('years', this.years[idx], true, true);
1086
- }
1087
- /**
1088
- * @desc
1089
- * @param idx
1090
- */
1091
- hourClick(idx) {
1092
- if (this.hoursDragger.busy)
1093
- return;
1094
- if (!this.selectedDate) {
1095
- this.setTime();
1096
- }
1097
- this.setDragSelection('hours', this.hours[idx], true, true);
1098
- }
1099
- /**
1100
- * @desc
1101
- * @param idx
1102
- */
1103
- minuteClick(idx) {
1104
- if (this.minutesDragger.busy)
1105
- return;
1106
- if (!this.selectedDate) {
1107
- this.setTime();
1108
- }
1109
- this.setDragSelection('minutes', this.minutes[idx], true, true);
1110
- }
1111
- /**
1112
- * @desc
1113
- */
1114
- openPicker() {
1115
- if (this.disabled)
1116
- return;
1117
- !this._open && (this._open = true);
1118
- }
1119
- /**
1120
- * @desc
1121
- * @param date
1122
- */
1123
- handleDayNumber(date) {
1124
- if (this.type === Types.range
1125
- && this.selectedDate
1126
- && !this.selectedEndDate
1127
- && this.isSameDate(this.selectedDate, date))
1128
- return;
1129
- this.setDate(date, true);
1130
- }
1131
- /**
1132
- * @desc
1133
- * @param value
1134
- */
1135
- handleInputInput(value) {
1136
- this.setDataFromText(value, true);
1137
- }
1138
- /**
1139
- * @desc
1140
- * @param event -
1141
- */
1142
- handleInputChange(event) {
1143
- this.setDataFromText(this.inputElement.value, true, false);
1144
- event.stopPropagation();
1145
- }
1146
- /**
1147
- * @desc
1148
- */
1149
- async handleInputClear() {
1150
- this.selectedDate = null;
1151
- this.selectedEndDate = null;
1152
- this.emptyState = true;
1153
- this.renderDate = new Date();
1154
- this._open = false;
1155
- this.setValue(true);
1156
- this.setError();
1157
- this.getValueText();
1158
- await this.inputElement.setClear();
1159
- await delay(10);
1160
- return Promise.resolve();
1161
- }
1162
- /**
1163
- * @desc
1164
- * @param event
1165
- */
1166
- handleWheel(event) {
1167
- event.preventDefault();
1168
- }
1169
- /**
1170
- * @desc
1171
- * @param event
1172
- */
1173
- handleWindowClick(event) {
1174
- if (this._open) {
1175
- const list = document.getElementById(`picker-vp-${this._id}`);
1176
- const isClickInside = Generate.findEventPath(event, this.el);
1177
- const isClickList = list ? (Generate.findEventPath(event, list)) : false;
1178
- if (!isClickInside && !isClickList) {
1179
- this._open = false;
1180
- }
1181
- }
1182
- }
1183
- openToggle() {
1184
- if (this.disabled)
1185
- return;
1186
- this._open = !this._open;
1187
- }
1188
- /**
1189
- * @desc
1190
- */
1191
- async open() {
1192
- await delay(50);
1193
- this.openToggle();
1194
- }
1195
- /**
1196
- * @desc
1197
- */
1198
- async close() {
1199
- this._open = false;
1200
- }
1201
- /**
1202
- * @desc
1203
- */
1204
- async getValue() {
1205
- return this.value;
1206
- }
1207
- /**
1208
- * @param
1209
- * @param disabled
1210
- */
1211
- async setDisabled(disabled) {
1212
- this.disabled = disabled;
1213
- }
1214
- changeFormat(date, reverseDay = false) {
1215
- if (!date)
1216
- return;
1217
- const pad = (n) => n < 10 ? `0${n}` : n;
1218
- const day = pad(new Date(date).getDate());
1219
- const month = pad(new Date(date).getMonth() + 1);
1220
- const year = new Date(date).getFullYear();
1221
- const hours = pad(new Date(date).getHours());
1222
- const minutes = pad(new Date(date).getMinutes());
1223
- if (this.type == "range" || this.type == "date") {
1224
- return reverseDay ? `${month}/${day}/${year}` : `${day}/${month}/${year}`;
1225
- }
1226
- return reverseDay ? `${month}/${day}/${year} ${hours}:${minutes}` : `${day}/${month}/${year} ${hours}:${minutes}`;
1227
- }
1228
- isTime(value) {
1229
- return /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/.test(value);
1230
- }
1231
- getHHMM(date) {
1232
- if (!date)
1233
- return;
1234
- const pad = (n) => n < 10 ? `0${n}` : n;
1235
- const hours = pad(new Date(date).getHours());
1236
- const minutes = pad(new Date(date).getMinutes());
1237
- return `${hours}:${minutes}`;
1238
- }
1239
- /**
1240
- * @desc
1241
- * @param dateOrTime
1242
- */
1243
- async set(dateOrTime) {
1244
- if (dateOrTime) {
1245
- if (typeof dateOrTime === "number") {
1246
- dateOrTime = new Date(dateOrTime);
1247
- }
1248
- if (this.type == "time") {
1249
- let time = dateOrTime;
1250
- if (!this.isTime(dateOrTime)) {
1251
- time = this.getHHMM(dateOrTime);
1252
- }
1253
- this.setDataFromText(time, true, false);
1254
- }
1255
- else {
1256
- const split = dateOrTime.toString().split('-');
1257
- const parseDate0 = Date.parse(split[0]);
1258
- if (split[0] && !isNaN(parseDate0)) {
1259
- var date = this.changeFormat(DateTimeHelper.convertTimeStampToDate(new Date(split[0]).getTime()));
1260
- if (split[1] && !isNaN(Date.parse(split[1]))) {
1261
- var date2 = this.changeFormat(DateTimeHelper.convertTimeStampToDate(new Date(split[1]).getTime()));
1262
- date = date + "-" + date2;
1263
- }
1264
- this.setDataFromText(date, true, false);
1265
- }
1266
- else {
1267
- this.setDataFromText('', true, false);
1268
- }
1269
- }
1270
- }
1271
- else {
1272
- this.setClear();
1273
- }
1274
- }
1275
- async get() {
1276
- var _a;
1277
- return ((_a = this.value) === null || _a === void 0 ? void 0 : _a.timestamp) || null;
1278
- }
1279
- async setClear() {
1280
- await this.handleInputClear();
1281
- return Promise.resolve();
1282
- }
1283
- /**
1284
- * @desc
1285
- */
1286
- async getInput() {
1287
- return this.inputElement;
1288
- }
1289
- /**
1290
- * @desc
1291
- * @returns
1292
- */
1293
- async isValid() {
1294
- return this.getError();
1295
- }
1296
- async resetCaption() {
1297
- await delay(10);
1298
- await this.inputElement.resetCaption();
1299
- this.captionType = 'default';
1300
- this.captionError = null;
1301
- await delay(10);
1302
- return Promise.resolve();
1303
- }
1304
- addZeroBefore(n) {
1305
- return (n < 10 ? '0' : '') + n;
1306
- }
1307
- formatDate(date, format) {
1308
- const map = {
1309
- mm: this.addZeroBefore(date.getMonth() + 1),
1310
- dd: this.addZeroBefore(date.getDate()),
1311
- yyyy: this.addZeroBefore(date.getFullYear()),
1312
- hh: this.addZeroBefore(date.getHours()),
1313
- mi: this.addZeroBefore(date.getMinutes()),
1314
- };
1315
- return format.replace(/mm|dd|yyyy|hh|mi/gi, matched => map[matched]);
1316
- }
1317
- handleResize() {
1318
- this.calculateLocation();
1319
- }
1320
- handleWheels(event) {
1321
- if (this._open) {
1322
- const list = document.querySelector(`#picker-vp-${this._id}`);
1323
- const isClickInside = list && Generate.findEventPath(event, list);
1324
- if (isClickInside) {
1325
- this.calculateLocation();
1326
- }
1327
- else {
1328
- this._open = false;
1329
- }
1330
- }
1331
- }
1332
- componentDidLoad() {
1333
- const picker = this.el.shadowRoot.querySelector(`#picker-vp-${this._id}`);
1334
- //move to body
1335
- if (picker) {
1336
- document.body.appendChild(picker);
1337
- this.calculateLocation();
1338
- }
1339
- }
1340
- disconnectedCallback() {
1341
- this.el.innerHTML = '';
1342
- const pickerBox = document.getElementById(`picker-vp-${this._id}`);
1343
- if (pickerBox) {
1344
- pickerBox.remove();
1345
- }
1346
- }
1347
- async calculateLocation() {
1348
- const pickerBox = document.getElementById(`picker-vp-${this._id}`);
1349
- const placementArray = this.placement.split('-');
1350
- if (this.alignment) {
1351
- this.placement = placementArray[0] + (this.alignment == "right" ? "-end" : "-start");
1352
- }
1353
- var placement = this.placement;
1354
- const targetElementId = this.linkedComponent ? this.linkedComponent : this._id;
1355
- const target = document.getElementById(targetElementId);
1356
- if (target) {
1357
- const targetElement = this.linkedComponent ? target : target.shadowRoot.querySelector(`#picker-input-${this._id}`) || target.shadowRoot.querySelector("bcm-datetime-picker").shadowRoot.querySelector(`#picker-input-${this._id}`);
1358
- if (pickerBox && targetElement) {
1359
- getPlacement(pickerBox, targetElement, placement, (place) => (placement = place));
1360
- await delay(10);
1361
- let pos = setPosition(placement, targetElement);
1362
- let captionAreaHeight = this.noCaption ? 0 : 20;
1363
- let labelAreaHeight = 0;
1364
- // if (this.fullWidth) {
1365
- // pickerBox.style.width = targetElement.offsetWidth + 'px';
1366
- // }
1367
- getPlacement(pickerBox, targetElement, placement, (place) => (placement = place));
1368
- await delay(10);
1369
- pos = setPosition(placement, targetElement);
1370
- if (this.linkedComponent) {
1371
- pickerBox.style.top = (placement.split('-')[0] == 'top' ? pos[0] - pickerBox.offsetHeight : pos[0]) + 'px';
1372
- }
1373
- else {
1374
- pickerBox.style.top = (placement.split('-')[0] == 'top' ? pos[0] - pickerBox.offsetHeight + labelAreaHeight : pos[0] - captionAreaHeight) + 'px';
1375
- }
1376
- switch (placement.split('-')[1]) {
1377
- case "start":
1378
- pickerBox.style.left = pos[1] + 'px';
1379
- break;
1380
- case "center":
1381
- pickerBox.style.left = pos[1] - pickerBox.offsetWidth / 2 + 'px';
1382
- break;
1383
- case "end":
1384
- pickerBox.style.left = pos[1] - pickerBox.offsetWidth + 'px';
1385
- break;
1386
- }
1387
- pickerBox.classList.toggle('bcm-list--top', placement.split('-')[0] == 'top');
1388
- }
1389
- }
1390
- }
1391
- handleKeyDown(ev) {
1392
- const keycode = ev.keyCode || ev.which;
1393
- if (keycode === Bcm.KeyCode.escape) {
1394
- if (this._open) {
1395
- this._open = false;
1396
- ev.preventDefault();
1397
- ev.stopPropagation();
1398
- ev.stopImmediatePropagation();
1399
- this.markForCheck();
1400
- }
1401
- }
1402
- }
1403
- render() {
1404
- const dayNumbersClasses = classnames('day-numbers');
1405
- const datetimePickerClasses = classnames('datetime-picker', 'datetime-picker-wrapper', {
1406
- 'open': this._open,
1407
- 'no-caption': this.noCaption,
1408
- });
1409
- const hostClasses = classnames(this.hidden ? 'hidden' : null, {
1410
- 'full-width': this.fullWidth,
1411
- 'linked-component': this.linkedComponent,
1412
- 'no-margin': this.noMargin,
1413
- });
1414
- const toggleClasses = classnames('toggle', {
1415
- disabled: this.disabled
1416
- });
1417
- const clockIcon = `<svg style="fill: #595959; width: 14px; height: 14px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"/></svg>`;
1418
- const calendarIcon = `<svg style="fill: #595959; width: 14px; height: 14px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"/></svg>`;
1419
- const errorIcon = `<svg style="fill: #ef4444; width: 14px; height: 14px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm42-104c0 23.2-18.8 42-42 42s-42-18.8-42-42 18.8-42 42-42 42 18.8 42 42zm-81.4-211.4l6.8 136c.3 6.4 5.6 11.4 12 11.4h41.2c6.4 0 11.7-5.1 12-11.4l6.8-136c.3-6.9-5.1-12.6-12-12.6h-54.8c-6.9 0-12.4 5.7-12 12.6z"/></svg>`;
1420
- const inputIcon = this.type == "time" ? clockIcon : calendarIcon;
1421
- return (h(Host, { class: hostClasses, "bcm-internal-id": this.inputId }, this.label && (h("div", { class: "picker-label", onClick: () => this.openToggle() }, h(LabelTemplate, { size: "medium", type: this.captionType, value: this.label, required: this.required, htmlFor: this._id }))), h("bcm-old-input", { ref: el => (this.inputElement = el), placeholder: this.placeholder || 'Select ' + (this.type === Types.datetime ? 'date and time' : '') + (this.type === Types.date ? 'date' : '') + (this.type === Types.time ? 'time' : '') + (this.type === Types.range ? 'date range' : ''), value: this.valueText, required: this.required, fullWidth: this.fullWidth, disabled: this.disabled, name: this.name, id: this.inputId, clearable: this.clearable, onClick: () => this.openPicker(), noMargin: this.noMargin, disableWatchValue: true, "on-bcm-clear": () => this.handleInputClear(), "on-bcm-change": (e) => this.handleInputChange(e),
1422
- // on-bcm-input={(e: CustomEvent) => this.handleInputInput(e.detail)}
1423
- noCaption: this.noCaption, captionError: this.captionError, caption: this.caption, captionType: this.captionType }, this.error && (h("span", { slot: "suffix" }, h("span", { id: "error-icon", class: toggleClasses, innerHTML: errorIcon, title: this.errorText }))), h("span", { slot: "suffix", onClick: () => this.openPicker() }, h("span", { id: "calender-icon", class: toggleClasses, innerHTML: inputIcon }))), h("div", { id: "picker-vp-" + this._id, class: datetimePickerClasses, onWheel: (e) => this.handleWheel(e) }, h("div", { class: "modules" }, this.hasDateModule && (h("div", { class: "date-container" }, h("div", { class: "bcm-datetime-picker__header" }, h("span", null), h("div", { class: "month-year" }, h("button", { onClick: () => this.getPrevMonth() }, h("bcm-icon", { icon: "far fa-chevron-left" })), h("div", { class: "month-year-wrapper" }, h("span", { class: "month" }, this.getMonthText()), ",", h("span", { class: "year" }, this.date.getFullYear())), h("button", { onClick: () => this.getNextMonth() }, h("bcm-icon", { icon: "far fa-chevron-right" }))), h("span", { class: "today", onClick: () => this.setDateToday() }, "Today")), h("div", { class: "bcm-datetime-picker__content" }, h("div", { class: "years", ref: el => (this.yearsWrapperElement = el) }, h("div", { class: "items", ref: el => (this.yearsElement = el) }, this.years.map((year, idx) => h("span", { onClick: () => this.yearClick(idx) }, year))), h("div", { class: "select-strip", ref: el => (this.yearsStripElement = el) })), h("div", { class: "days" }, h("div", { class: "day-labels" }, h("span", null, "Mo"), h("span", null, "Tu"), h("span", null, "We"), h("span", null, "Th"), h("span", null, "Fr"), h("span", null, "Sa"), h("span", null, "Su")), h("div", { class: dayNumbersClasses }, this.dayNumbers.map(day => (h("span", { class: {
1424
- 'is-disabled-date': (this.type === Types.date || this.type === Types.datetime) && this.isDisabledDate(day.date),
1425
- 'not-this-month': !day.thisMonth,
1426
- 'is-weekend': day.isWeekend,
1427
- 'today': day.today,
1428
- 'selected': this.getSelected(day.date),
1429
- 'selected-start': this.getSelected(day.date) && this.selectedEndDate && this.type === Types.range,
1430
- 'selected-end': this.getSelected(day.date, true) && this.type === Types.range,
1431
- 'range': this.getDateIsInRange(day.date) && this.type === Types.range
1432
- }, onClick: () => this.handleDayNumber(day.date) }, h("span", { class: "number" }, day.day))))))))), this.hasTimeModule && (h("div", { class: "time-container" }, h("div", { class: "bcm-datetime-picker__header" }, h("div", { class: "month-year" }, h("span", { class: "month" }, this.getTimeText())), h("span", { class: "now", onClick: () => { this.setTime(), this.type == "time" && (this._open = false); } }, "Now")), h("div", { class: "bcm-datetime-picker__content", onDblClick: (e) => { this.HourContentDblClick(e); } }, h("div", { class: "hours", ref: el => (this.hoursWrapperElement = el) }, h("div", { class: "items", ref: el => (this.hoursElement = el) }, this.hours.map((hour, idx) => h("span", { class: this.currentDate.hour === hour ? 'selected' : '', onClick: () => this.hourClick(idx) }, (hour < 10 && '0') + hour)))), h("div", { class: "minutes", ref: el => (this.minutesWrapperElement = el) }, h("div", { class: "items", ref: el => (this.minutesElement = el) }, this.minutes.map((minute, idx) => h("span", { class: this.currentDate.minute === minute ? 'selected' : '', onClick: () => this.minuteClick(idx) }, (minute < 10 && '0') + minute)))), h("div", { class: "select-strip", ref: el => (this.timeStripElement = el) }))))))));
1433
- }
1434
- get el() { return getElement(this); }
1435
- static get watchers() { return {
1436
- "_open": ["openChanged", "openChange"],
1437
- "renderDate": ["renderDateChange"],
1438
- "value": ["valueChange"],
1439
- "disabledDates": ["disabledDatesChange"]
1440
- }; }
1441
- };
1442
- __decorate([
1443
- IsLoad()
1444
- ], BcmDatetimePicker.prototype, "el", void 0);
1445
- BcmDatetimePicker.style = datetimePickerCss;
1446
-
1447
- export { BcmDatetimePicker as bcm_datetime_picker };