@aquera/nile-elements 0.0.95 → 0.0.97

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 (353) hide show
  1. package/README.md +11 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +16 -0
  4. package/demo/variables_v2.css +3 -0
  5. package/dist/{angular-ts-a95c67aa.cjs.js → angular-ts-8eef275b.cjs.js} +2 -2
  6. package/dist/{angular-ts-a95c67aa.cjs.js.map → angular-ts-8eef275b.cjs.js.map} +1 -1
  7. package/dist/{asciidoc-b8046ce8.esm.js → asciidoc-45b24fbf.esm.js} +1 -1
  8. package/dist/{asciidoc-c0ae04c3.cjs.js → asciidoc-d9a554a9.cjs.js} +2 -2
  9. package/dist/{asciidoc-c0ae04c3.cjs.js.map → asciidoc-d9a554a9.cjs.js.map} +1 -1
  10. package/dist/coq-112048d4.cjs.js +2 -0
  11. package/dist/coq-112048d4.cjs.js.map +1 -0
  12. package/dist/coq-2b59f292.esm.js +1 -0
  13. package/dist/{edge-f122fee4.cjs.js → edge-117795ef.cjs.js} +2 -2
  14. package/dist/{edge-f122fee4.cjs.js.map → edge-117795ef.cjs.js.map} +1 -1
  15. package/dist/{fortran-fixed-form-48ce1631.cjs.js → fortran-fixed-form-04eb2c2b.cjs.js} +2 -2
  16. package/dist/{fortran-fixed-form-48ce1631.cjs.js.map → fortran-fixed-form-04eb2c2b.cjs.js.map} +1 -1
  17. package/dist/{fsharp-9f65d045.cjs.js → fsharp-b73adc59.cjs.js} +2 -2
  18. package/dist/{fsharp-9f65d045.cjs.js.map → fsharp-b73adc59.cjs.js.map} +1 -1
  19. package/dist/{gdresource-f69c4269.cjs.js → gdresource-165d80c9.cjs.js} +2 -2
  20. package/dist/{gdresource-f69c4269.cjs.js.map → gdresource-165d80c9.cjs.js.map} +1 -1
  21. package/dist/github-dark-high-contrast-7b0d7429.cjs.js +2 -0
  22. package/dist/github-dark-high-contrast-7b0d7429.cjs.js.map +1 -0
  23. package/dist/github-dark-high-contrast-bf87cfb0.esm.js +1 -0
  24. package/dist/github-light-high-contrast-3683d923.esm.js +1 -0
  25. package/dist/github-light-high-contrast-caee8ed6.cjs.js +2 -0
  26. package/dist/github-light-high-contrast-caee8ed6.cjs.js.map +1 -0
  27. package/dist/gleam-69ca4750.cjs.js +2 -0
  28. package/dist/gleam-69ca4750.cjs.js.map +1 -0
  29. package/dist/gleam-79f887fd.esm.js +1 -0
  30. package/dist/{haml-a62722ee.cjs.js → haml-bdfaf5bf.cjs.js} +2 -2
  31. package/dist/{haml-a62722ee.cjs.js.map → haml-bdfaf5bf.cjs.js.map} +1 -1
  32. package/dist/{http-243ce707.cjs.js → http-bdc26351.cjs.js} +2 -2
  33. package/dist/{http-243ce707.cjs.js.map → http-bdc26351.cjs.js.map} +1 -1
  34. package/dist/{hxml-36e954b2.cjs.js → hxml-ec409b05.cjs.js} +2 -2
  35. package/dist/{hxml-36e954b2.cjs.js.map → hxml-ec409b05.cjs.js.map} +1 -1
  36. package/dist/index.cjs.js +1 -1
  37. package/dist/index.esm.js +1 -1
  38. package/dist/{latex-1732805a.cjs.js → latex-13abd118.cjs.js} +2 -2
  39. package/dist/{latex-1732805a.cjs.js.map → latex-13abd118.cjs.js.map} +1 -1
  40. package/dist/{mdc-a3ab9285.cjs.js → mdc-31e30669.cjs.js} +2 -2
  41. package/dist/{mdc-a3ab9285.cjs.js.map → mdc-31e30669.cjs.js.map} +1 -1
  42. package/dist/nile-badge/index.cjs.js +1 -1
  43. package/dist/nile-badge/index.esm.js +1 -1
  44. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  45. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  46. package/dist/nile-badge/nile-badge.esm.js +1 -1
  47. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  48. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  49. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  50. package/dist/nile-button/index.cjs.js +1 -1
  51. package/dist/nile-button/index.esm.js +1 -1
  52. package/dist/nile-button/nile-button.cjs.js +1 -1
  53. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  54. package/dist/nile-button/nile-button.esm.js +2 -2
  55. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  56. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  57. package/dist/nile-button/nile-button.test.esm.js +1 -1
  58. package/dist/nile-calendar/index.cjs.js +1 -1
  59. package/dist/nile-calendar/index.esm.js +1 -1
  60. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  61. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  62. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  63. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  64. package/dist/nile-calendar/nile-calendar.css.esm.js +0 -5
  65. package/dist/nile-calendar/nile-calendar.esm.js +51 -53
  66. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  67. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  68. package/dist/nile-chip/nile-chip.esm.js +1 -1
  69. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  70. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  71. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  72. package/dist/nile-code-editor/nile-code-editor.esm.js +5 -5
  73. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  74. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  75. package/dist/nile-date-picker/nile-date-picker.css.cjs.js +1 -1
  76. package/dist/nile-date-picker/nile-date-picker.css.cjs.js.map +1 -1
  77. package/dist/nile-date-picker/nile-date-picker.css.esm.js +6 -2
  78. package/dist/nile-date-picker/nile-date-picker.esm.js +6 -6
  79. package/dist/nile-dialog/index.cjs.js +1 -1
  80. package/dist/nile-dialog/index.esm.js +1 -1
  81. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  82. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  83. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  84. package/dist/nile-drawer/index.cjs.js +1 -1
  85. package/dist/nile-drawer/index.esm.js +1 -1
  86. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  87. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  88. package/dist/nile-drawer/nile-drawer.esm.js +2 -2
  89. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  90. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  91. package/dist/nile-drawer/nile-drawer.test.esm.js +7 -7
  92. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  93. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  94. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  95. package/dist/nile-icon/icons/svg/block-02.cjs.js +2 -0
  96. package/dist/nile-icon/icons/svg/block-02.cjs.js.map +1 -0
  97. package/dist/nile-icon/icons/svg/block-02.esm.js +1 -0
  98. package/dist/nile-icon/icons/svg/compare.cjs.js +2 -0
  99. package/dist/nile-icon/icons/svg/compare.cjs.js.map +1 -0
  100. package/dist/nile-icon/icons/svg/compare.esm.js +1 -0
  101. package/dist/nile-icon/icons/svg/dock-to-right.cjs.js +2 -0
  102. package/dist/nile-icon/icons/svg/dock-to-right.cjs.js.map +1 -0
  103. package/dist/nile-icon/icons/svg/dock-to-right.esm.js +1 -0
  104. package/dist/nile-icon/icons/svg/full-union.cjs.js +2 -0
  105. package/dist/nile-icon/icons/svg/full-union.cjs.js.map +1 -0
  106. package/dist/nile-icon/icons/svg/full-union.esm.js +1 -0
  107. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  108. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  109. package/dist/nile-icon/icons/svg/inner-union.cjs.js +2 -0
  110. package/dist/nile-icon/icons/svg/inner-union.cjs.js.map +1 -0
  111. package/dist/nile-icon/icons/svg/inner-union.esm.js +1 -0
  112. package/dist/nile-icon/icons/svg/left-union.cjs.js +2 -0
  113. package/dist/nile-icon/icons/svg/left-union.cjs.js.map +1 -0
  114. package/dist/nile-icon/icons/svg/left-union.esm.js +1 -0
  115. package/dist/nile-icon/icons/svg/palette.cjs.js +2 -0
  116. package/dist/nile-icon/icons/svg/palette.cjs.js.map +1 -0
  117. package/dist/nile-icon/icons/svg/palette.esm.js +1 -0
  118. package/dist/nile-icon/icons/svg/redo-02.cjs.js +2 -0
  119. package/dist/nile-icon/icons/svg/redo-02.cjs.js.map +1 -0
  120. package/dist/nile-icon/icons/svg/redo-02.esm.js +1 -0
  121. package/dist/nile-icon/icons/svg/right-union.cjs.js +2 -0
  122. package/dist/nile-icon/icons/svg/right-union.cjs.js.map +1 -0
  123. package/dist/nile-icon/icons/svg/right-union.esm.js +1 -0
  124. package/dist/nile-icon/icons/svg/section-02.cjs.js +2 -0
  125. package/dist/nile-icon/icons/svg/section-02.cjs.js.map +1 -0
  126. package/dist/nile-icon/icons/svg/section-02.esm.js +1 -0
  127. package/dist/nile-icon/icons/svg/select-02.cjs.js +2 -0
  128. package/dist/nile-icon/icons/svg/select-02.cjs.js.map +1 -0
  129. package/dist/nile-icon/icons/svg/select-02.esm.js +1 -0
  130. package/dist/nile-icon/icons/svg/text-02.cjs.js +2 -0
  131. package/dist/nile-icon/icons/svg/text-02.cjs.js.map +1 -0
  132. package/dist/nile-icon/icons/svg/text-02.esm.js +1 -0
  133. package/dist/nile-icon/icons/svg/undo-02.cjs.js +2 -0
  134. package/dist/nile-icon/icons/svg/undo-02.cjs.js.map +1 -0
  135. package/dist/nile-icon/icons/svg/undo-02.esm.js +1 -0
  136. package/dist/nile-icon/index.cjs.js +1 -1
  137. package/dist/nile-icon/index.cjs.js.map +1 -1
  138. package/dist/nile-icon/index.esm.js +2 -2
  139. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  140. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  141. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  142. package/dist/nile-icon-button/index.cjs.js +1 -1
  143. package/dist/nile-icon-button/index.esm.js +1 -1
  144. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  145. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  146. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  147. package/dist/nile-inline-edit/index.cjs.js +2 -0
  148. package/dist/nile-inline-edit/index.cjs.js.map +1 -0
  149. package/dist/nile-inline-edit/index.esm.js +1 -0
  150. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +2 -0
  151. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -0
  152. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +2 -0
  153. package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -0
  154. package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +42 -0
  155. package/dist/nile-inline-edit/nile-inline-edit.esm.js +6 -0
  156. package/dist/nile-input/index.cjs.js +1 -1
  157. package/dist/nile-input/index.esm.js +1 -1
  158. package/dist/nile-input/nile-input.cjs.js +1 -1
  159. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  160. package/dist/nile-input/nile-input.esm.js +1 -1
  161. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  162. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  163. package/dist/nile-input/nile-input.test.esm.js +1 -1
  164. package/dist/nile-menu-item/index.cjs.js +1 -1
  165. package/dist/nile-menu-item/index.esm.js +1 -1
  166. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  167. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  168. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  169. package/dist/nile-option/index.cjs.js +1 -1
  170. package/dist/nile-option/index.esm.js +1 -1
  171. package/dist/nile-option/nile-option.cjs.js +1 -1
  172. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  173. package/dist/nile-option/nile-option.esm.js +1 -1
  174. package/dist/nile-select/index.cjs.js +1 -1
  175. package/dist/nile-select/index.esm.js +1 -1
  176. package/dist/nile-select/nile-select.cjs.js +1 -1
  177. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  178. package/dist/nile-select/nile-select.esm.js +1 -1
  179. package/dist/nile-tab/index.cjs.js +1 -1
  180. package/dist/nile-tab/index.esm.js +1 -1
  181. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  182. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  183. package/dist/nile-tab/nile-tab.esm.js +1 -1
  184. package/dist/nile-tab-group/index.cjs.js +1 -1
  185. package/dist/nile-tab-group/index.esm.js +1 -1
  186. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  187. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  188. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  189. package/dist/nile-tag/index.cjs.js +1 -1
  190. package/dist/nile-tag/index.esm.js +1 -1
  191. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  192. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  193. package/dist/nile-tag/nile-tag.esm.js +1 -1
  194. package/dist/nile-toast/index.cjs.js +1 -1
  195. package/dist/nile-toast/index.esm.js +1 -1
  196. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  197. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  198. package/dist/nile-toast/nile-toast.esm.js +1 -1
  199. package/dist/nile-tree/index.cjs.js +1 -1
  200. package/dist/nile-tree/index.esm.js +1 -1
  201. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  202. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  203. package/dist/nile-tree/nile-tree.esm.js +1 -1
  204. package/dist/nile-tree-item/index.cjs.js +1 -1
  205. package/dist/nile-tree-item/index.esm.js +1 -1
  206. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  207. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  208. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  209. package/dist/{nim-df5f9efe.cjs.js → nim-175a1e94.cjs.js} +2 -2
  210. package/dist/{nim-df5f9efe.cjs.js.map → nim-175a1e94.cjs.js.map} +1 -1
  211. package/dist/{proto-11466e41.esm.js → proto-7cb7fd99.esm.js} +1 -1
  212. package/dist/{proto-bdf8f839.cjs.js → proto-c0d38a59.cjs.js} +2 -2
  213. package/dist/{proto-bdf8f839.cjs.js.map → proto-c0d38a59.cjs.js.map} +1 -1
  214. package/dist/{rst-64e995dc.cjs.js → rst-939eae95.cjs.js} +2 -2
  215. package/dist/{rst-64e995dc.cjs.js.map → rst-939eae95.cjs.js.map} +1 -1
  216. package/dist/{shaderlab-8f7349ac.cjs.js → shaderlab-f1b8150d.cjs.js} +2 -2
  217. package/dist/{shaderlab-8f7349ac.cjs.js.map → shaderlab-f1b8150d.cjs.js.map} +1 -1
  218. package/dist/{sparql-cd3386f5.cjs.js → sparql-fa708d4c.cjs.js} +2 -2
  219. package/dist/{sparql-cd3386f5.cjs.js.map → sparql-fa708d4c.cjs.js.map} +1 -1
  220. package/dist/src/index.d.ts +1 -0
  221. package/dist/src/index.js +1 -0
  222. package/dist/src/index.js.map +1 -1
  223. package/dist/src/nile-calendar/nile-calendar.css.js +0 -5
  224. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  225. package/dist/src/nile-calendar/nile-calendar.d.ts +94 -56
  226. package/dist/src/nile-calendar/nile-calendar.js +465 -490
  227. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  228. package/dist/src/nile-chip/nile-chip.js +2 -2
  229. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  230. package/dist/src/nile-code-editor/extensionSetup.js +7 -14
  231. package/dist/src/nile-code-editor/extensionSetup.js.map +1 -1
  232. package/dist/src/nile-code-editor/nile-code-editor.d.ts +8 -5
  233. package/dist/src/nile-code-editor/nile-code-editor.js +22 -5
  234. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  235. package/dist/src/nile-date-picker/nile-date-picker.css.js +4 -0
  236. package/dist/src/nile-date-picker/nile-date-picker.css.js.map +1 -1
  237. package/dist/src/nile-date-picker/nile-date-picker.js +7 -6
  238. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  239. package/dist/src/nile-icon/icons/svg/block-02.d.ts +5 -0
  240. package/dist/src/nile-icon/icons/svg/block-02.js +5 -0
  241. package/dist/src/nile-icon/icons/svg/block-02.js.map +1 -0
  242. package/dist/src/nile-icon/icons/svg/compare.d.ts +5 -0
  243. package/dist/src/nile-icon/icons/svg/compare.js +5 -0
  244. package/dist/src/nile-icon/icons/svg/compare.js.map +1 -0
  245. package/dist/src/nile-icon/icons/svg/dock-to-right.d.ts +5 -0
  246. package/dist/src/nile-icon/icons/svg/dock-to-right.js +5 -0
  247. package/dist/src/nile-icon/icons/svg/dock-to-right.js.map +1 -0
  248. package/dist/src/nile-icon/icons/svg/full-union.d.ts +5 -0
  249. package/dist/src/nile-icon/icons/svg/full-union.js +5 -0
  250. package/dist/src/nile-icon/icons/svg/full-union.js.map +1 -0
  251. package/dist/src/nile-icon/icons/svg/index.d.ts +13 -0
  252. package/dist/src/nile-icon/icons/svg/index.js +13 -0
  253. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  254. package/dist/src/nile-icon/icons/svg/inner-union.d.ts +5 -0
  255. package/dist/src/nile-icon/icons/svg/inner-union.js +5 -0
  256. package/dist/src/nile-icon/icons/svg/inner-union.js.map +1 -0
  257. package/dist/src/nile-icon/icons/svg/left-union.d.ts +5 -0
  258. package/dist/src/nile-icon/icons/svg/left-union.js +5 -0
  259. package/dist/src/nile-icon/icons/svg/left-union.js.map +1 -0
  260. package/dist/src/nile-icon/icons/svg/palette.d.ts +5 -0
  261. package/dist/src/nile-icon/icons/svg/palette.js +5 -0
  262. package/dist/src/nile-icon/icons/svg/palette.js.map +1 -0
  263. package/dist/src/nile-icon/icons/svg/redo-02.d.ts +5 -0
  264. package/dist/src/nile-icon/icons/svg/redo-02.js +5 -0
  265. package/dist/src/nile-icon/icons/svg/redo-02.js.map +1 -0
  266. package/dist/src/nile-icon/icons/svg/right-union.d.ts +5 -0
  267. package/dist/src/nile-icon/icons/svg/right-union.js +5 -0
  268. package/dist/src/nile-icon/icons/svg/right-union.js.map +1 -0
  269. package/dist/src/nile-icon/icons/svg/section-02.d.ts +5 -0
  270. package/dist/src/nile-icon/icons/svg/section-02.js +5 -0
  271. package/dist/src/nile-icon/icons/svg/section-02.js.map +1 -0
  272. package/dist/src/nile-icon/icons/svg/select-02.d.ts +5 -0
  273. package/dist/src/nile-icon/icons/svg/select-02.js +5 -0
  274. package/dist/src/nile-icon/icons/svg/select-02.js.map +1 -0
  275. package/dist/src/nile-icon/icons/svg/text-02.d.ts +5 -0
  276. package/dist/src/nile-icon/icons/svg/text-02.js +5 -0
  277. package/dist/src/nile-icon/icons/svg/text-02.js.map +1 -0
  278. package/dist/src/nile-icon/icons/svg/undo-02.d.ts +5 -0
  279. package/dist/src/nile-icon/icons/svg/undo-02.js +5 -0
  280. package/dist/src/nile-icon/icons/svg/undo-02.js.map +1 -0
  281. package/dist/src/nile-inline-edit/index.d.ts +1 -0
  282. package/dist/src/nile-inline-edit/index.js +2 -0
  283. package/dist/src/nile-inline-edit/index.js.map +1 -0
  284. package/dist/src/nile-inline-edit/nile-inline-edit.css.d.ts +12 -0
  285. package/dist/src/nile-inline-edit/nile-inline-edit.css.js +54 -0
  286. package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -0
  287. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +41 -0
  288. package/dist/src/nile-inline-edit/nile-inline-edit.js +76 -0
  289. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -0
  290. package/dist/{svelte-eaee6dea.cjs.js → svelte-1c9200e6.cjs.js} +2 -2
  291. package/dist/{svelte-eaee6dea.cjs.js.map → svelte-1c9200e6.cjs.js.map} +1 -1
  292. package/dist/tsconfig.tsbuildinfo +1 -1
  293. package/dist/{twig-ef3a2f8e.cjs.js → twig-e82a0f10.cjs.js} +2 -2
  294. package/dist/{twig-ef3a2f8e.cjs.js.map → twig-e82a0f10.cjs.js.map} +1 -1
  295. package/dist/{typespec-2408a2c5.esm.js → typespec-5b65452b.esm.js} +1 -1
  296. package/dist/{typespec-df7168c5.cjs.js → typespec-5f9c7522.cjs.js} +2 -2
  297. package/dist/{typespec-df7168c5.cjs.js.map → typespec-5f9c7522.cjs.js.map} +1 -1
  298. package/dist/vitesse-black-02f9013c.esm.js +1 -0
  299. package/dist/vitesse-black-c8b0af08.cjs.js +2 -0
  300. package/dist/vitesse-black-c8b0af08.cjs.js.map +1 -0
  301. package/dist/vitesse-dark-362560d8.esm.js +1 -0
  302. package/dist/vitesse-dark-4d62a96c.cjs.js +2 -0
  303. package/dist/vitesse-dark-4d62a96c.cjs.js.map +1 -0
  304. package/dist/vitesse-light-64c34e5b.esm.js +1 -0
  305. package/dist/vitesse-light-c347b81b.cjs.js +2 -0
  306. package/dist/vitesse-light-c347b81b.cjs.js.map +1 -0
  307. package/dist/{vue-711d75a4.esm.js → vue-8a11ba51.esm.js} +1 -1
  308. package/dist/{vue-d4c63178.cjs.js → vue-ec02ac11.cjs.js} +2 -2
  309. package/dist/{vue-d4c63178.cjs.js.map → vue-ec02ac11.cjs.js.map} +1 -1
  310. package/dist/{vue-html-b805e078.esm.js → vue-html-223d6d0d.esm.js} +1 -1
  311. package/dist/{vue-html-13711be2.cjs.js → vue-html-39fa1a8f.cjs.js} +2 -2
  312. package/dist/{vue-html-13711be2.cjs.js.map → vue-html-39fa1a8f.cjs.js.map} +1 -1
  313. package/dist/{wikitext-724303c6.esm.js → wikitext-194e2520.esm.js} +1 -1
  314. package/dist/{wikitext-d4ad7e43.cjs.js → wikitext-f8506da8.cjs.js} +2 -2
  315. package/dist/{wikitext-d4ad7e43.cjs.js.map → wikitext-f8506da8.cjs.js.map} +1 -1
  316. package/package.json +4 -3
  317. package/src/index.ts +2 -0
  318. package/src/nile-calendar/nile-calendar.css.ts +0 -5
  319. package/src/nile-calendar/nile-calendar.ts +481 -557
  320. package/src/nile-chip/nile-chip.ts +2 -2
  321. package/src/nile-code-editor/extensionSetup.ts +7 -14
  322. package/src/nile-code-editor/nile-code-editor.ts +28 -5
  323. package/src/nile-date-picker/nile-date-picker.css.ts +4 -0
  324. package/src/nile-date-picker/nile-date-picker.ts +7 -7
  325. package/src/nile-icon/icons/svg/block-02.ts +5 -0
  326. package/src/nile-icon/icons/svg/compare.ts +5 -0
  327. package/src/nile-icon/icons/svg/dock-to-right.ts +5 -0
  328. package/src/nile-icon/icons/svg/full-union.ts +5 -0
  329. package/src/nile-icon/icons/svg/index.ts +13 -0
  330. package/src/nile-icon/icons/svg/inner-union.ts +5 -0
  331. package/src/nile-icon/icons/svg/left-union.ts +5 -0
  332. package/src/nile-icon/icons/svg/palette.ts +5 -0
  333. package/src/nile-icon/icons/svg/redo-02.ts +5 -0
  334. package/src/nile-icon/icons/svg/right-union.ts +5 -0
  335. package/src/nile-icon/icons/svg/section-02.ts +5 -0
  336. package/src/nile-icon/icons/svg/select-02.ts +5 -0
  337. package/src/nile-icon/icons/svg/text-02.ts +5 -0
  338. package/src/nile-icon/icons/svg/undo-02.ts +5 -0
  339. package/src/nile-inline-edit/index.ts +1 -0
  340. package/src/nile-inline-edit/nile-inline-edit.css.ts +56 -0
  341. package/src/nile-inline-edit/nile-inline-edit.ts +80 -0
  342. package/dist/gleam-13d71b99.cjs.js +0 -2
  343. package/dist/gleam-13d71b99.cjs.js.map +0 -1
  344. package/dist/gleam-780849b8.esm.js +0 -1
  345. package/dist/vitesse-black-36f4f5ae.esm.js +0 -1
  346. package/dist/vitesse-black-8f7b8bf9.cjs.js +0 -2
  347. package/dist/vitesse-black-8f7b8bf9.cjs.js.map +0 -1
  348. package/dist/vitesse-dark-877d0b03.cjs.js +0 -2
  349. package/dist/vitesse-dark-877d0b03.cjs.js.map +0 -1
  350. package/dist/vitesse-dark-b177c06b.esm.js +0 -1
  351. package/dist/vitesse-light-1305bc40.esm.js +0 -1
  352. package/dist/vitesse-light-3f1d75bb.cjs.js +0 -2
  353. package/dist/vitesse-light-3f1d75bb.cjs.js.map +0 -1
@@ -6,7 +6,6 @@
6
6
  */
7
7
 
8
8
  import {
9
- LitElement,
10
9
  html,
11
10
  property,
12
11
  CSSResultArray,
@@ -15,26 +14,13 @@ import {
15
14
  } from 'lit-element';
16
15
  import { customElement, state } from 'lit/decorators.js';
17
16
  import { styles } from './nile-calendar.css';
18
- import { animateTo, stopAnimations } from '../internal/animate';
19
17
  import { classMap } from 'lit/directives/class-map.js';
20
18
  import { query } from 'lit/decorators.js';
21
- import {
22
- getAnimation,
23
- setDefaultAnimation,
24
- } from '../utilities/animation-registry';
25
- import { getTabbableBoundary } from '../internal/tabbable';
26
- import { waitForEvent } from '../internal/event';
27
19
  import { watch } from '../internal/watch';
28
20
  import NileElement from '../internal/nile-element';
29
- import type { CSSResultGroup, PropertyValues } from 'lit';
30
- import type NileButton from '../nile-button/nile-button';
31
- import type NileIconButton from '../nile-icon-button/nile-icon-button';
32
- import type { NileMenu } from '../nile-menu';
33
- import type { NilePopup } from '../nile-popup';
34
- import '../nile-popup';
21
+ import type { PropertyValueMap } from 'lit';
35
22
  import { NileDropdown } from '../nile-dropdown';
36
- import { TIMEZONES } from './timezones';
37
-
23
+ type NileCalendarDateRange={ startDate: string, endDate: string }
38
24
  /**
39
25
  * Nile icon component.
40
26
  *
@@ -44,115 +30,107 @@ import { TIMEZONES } from './timezones';
44
30
  @customElement('nile-calendar')
45
31
  export class NileCalendar extends NileElement {
46
32
  /**
47
- * The styles for NileCalendar
33
+ * The styles for NileCalendar
48
34
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
49
35
  */
50
36
  public static get styles(): CSSResultArray {
51
37
  return [styles];
52
38
  }
53
39
 
54
- private currentMonth: number = new Date().getMonth();
40
+ @query('nile-dropdown') dropdown: NileDropdown;
55
41
 
56
- private currentYear: number = new Date().getFullYear();
42
+ @property({ type: String, attribute: 'value' }) valueAttribute: | string | null = null;
57
43
 
58
- @query('nile-dropdown') dropdown: NileDropdown;
44
+ @property({ type: String, attribute:true, reflect:true }) allowedDates: string = JSON.stringify({});
59
45
 
60
- @property({ type: Boolean, reflect: true }) dropDownOpened = false;
46
+ @property({ type: Boolean }) range = false;
61
47
 
62
- @property({ type: Object }) value: any;
48
+ @property({ type: String }) type = 'absolute';
63
49
 
64
- @property({ type: Object, attribute: 'allowed-dates' })
65
- allowedDates: any = {};
50
+ @property({ type: String }) selectedUnit: string;
66
51
 
67
- @property({ type: Object }) rangeValue: any;
52
+ @property({ type: Number }) selectedValue: number;
68
53
 
69
- @property({ type: String, attribute: 'value' }) valueAttribute:
70
- | string
71
- | null = null;
54
+ @property({ type: Array, attribute: 'hide-duration-fields' }) hideDurationFields: String[] = [];
55
+
56
+ @property({ type: Boolean}) showManualInputs :boolean=false;
72
57
 
73
- @property({ type: String, attribute: 'value' }) formattedDate: string | null =
74
- null;
58
+ @state() startDate: Date | null = null;
75
59
 
76
- @property({ type: Object }) startDate: Date | null = null;
60
+ @state() endDate: Date | null = null;
77
61
 
78
- @property({ type: Object }) endDate: Date | null = null;
62
+ @state() isSelectingStart = true;
79
63
 
80
- @property({ type: Boolean }) isSelectingStart = true;
64
+ @state() hideInput: Boolean = false;
81
65
 
82
- @property({ type: Boolean }) range = false;
66
+ @state() value: Date | null;
83
67
 
84
- @property({ type: String }) type = 'absolute';
68
+ @state() currentMonth: number = new Date().getMonth();
85
69
 
86
- @property({ type: String }) selectedUnit: string;
70
+ @state() currentYear: number = new Date().getFullYear();
87
71
 
88
- @property({ type: Number }) selectedValue: number;
72
+ @state() allowedDatesLocal: NileCalendarDateRange | any = null;
89
73
 
90
- @property({ type: String }) selectedTimeZone: string = 'local';
74
+ connectedCallback() {
75
+ super.connectedCallback();
76
+ this.initializeValue();
77
+ this.emit('nile-init');
78
+ }
91
79
 
92
- @state() validAllowedDates = true;
80
+ disconnectedCallback() {
81
+ super.disconnectedCallback();
82
+ this.emit('nile-destroy');
83
+ }
93
84
 
94
- firstUpdated() {
95
- const allowedDatesAttribute = this.getAttribute('allowed-dates');
85
+ protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {
86
+ super.updated(changedProperties);
96
87
 
97
- if (allowedDatesAttribute !== null ) {
98
- try {
99
- this.allowedDates = JSON.parse(allowedDatesAttribute);
100
- } catch (error) {
101
- console.error('Error parsing allowed-dates attribute:', error);
88
+ if (changedProperties.has('valueAttribute')) {
89
+ const date = new Date(this.valueAttribute || '');
90
+ if (!isNaN(date.getTime())) {
91
+ const offset = date.getTimezoneOffset();
92
+ this.value = new Date(date.getTime() - offset * 60 * 1000);
93
+ this.currentMonth = this.value.getMonth();
94
+ this.currentYear = this.value.getFullYear();
102
95
  }
103
96
  }
104
- else
105
- {
106
- this.validAllowedDates=false;
107
- }
97
+ }
98
+
99
+ attributeChangedCallback(name: string, _old: string | null, newValue: string | null): void {
100
+ if (name === 'value') {
101
+ this.valueAttribute = newValue;
102
+ this.initializeValue();
103
+ }
108
104
  }
109
105
 
110
106
  @watch('allowedDates')
111
107
  checkValidAllowedDate() {
112
- if (Object.keys(this.allowedDates).length ==0) {
113
- this.validAllowedDates = false;
108
+ let newDateRange: NileCalendarDateRange | null;
109
+ try {
110
+ newDateRange=JSON.parse(this.allowedDates);
111
+ } catch (error) {
112
+ newDateRange=null;
113
+ }
114
+ if (!newDateRange || Object.keys(newDateRange).length == 0) {
115
+ this.allowedDatesLocal=null;
114
116
  return;
115
117
  }
116
118
  this.hideInput=true;
117
- const startDate = new Date(
118
- Date.UTC(
119
- this.allowedDates?.startDate?.slice(0, 4),
120
- this.allowedDates?.startDate?.slice(5, 7) - 1,
121
- this.allowedDates?.startDate?.slice(8, 10)
122
- )
123
- );
124
- const endDate = new Date(
125
- Date.UTC(
126
- this.allowedDates?.endDate?.slice(0, 4),
127
- this.allowedDates?.endDate?.slice(5, 7) - 1,
128
- this.allowedDates?.endDate?.slice(8, 10)
129
- )
130
- );
119
+ const startDate = this.getUTCDate(newDateRange.startDate)
120
+ const endDate = this.getUTCDate(newDateRange.endDate)
131
121
 
132
122
  if (startDate > endDate) {
133
123
  console.error('StartDate must be greater than endDate');
134
- this.validAllowedDates=false;
135
124
  }
136
125
  else
137
126
  {
138
- this.validAllowedDates=true;
127
+ this.allowedDatesLocal=newDateRange;
139
128
  }
140
129
  }
141
-
142
- @state() hideInput: Boolean = false;
143
-
144
-
145
- @property({ type: Array, attribute: 'hide-duration-fields' })
146
- hideDurationFields: String[] = [];
147
- @property({ type: Boolean , attribute: 'hide-time-zone' }) hideTimeZone: Boolean = false;
148
-
149
- @property({ type: Boolean , attribute: 'show-manual-inputs', reflect: true }) showManualInputs: Boolean = false;
150
-
130
+
151
131
  @watch('value')
152
132
  valueChanged() {
153
-
154
133
  if (this.range && this.value) {
155
- this.rangeValue = this.value;
156
134
  this.value = null;
157
135
  return;
158
136
  }
@@ -162,230 +140,182 @@ export class NileCalendar extends NileElement {
162
140
  const localDate = new Date(this.value.getTime() - offset * 60 * 1000);
163
141
  if (!isNaN(localDate.getTime())) {
164
142
  this.valueAttribute = localDate.toISOString().split('T')[0];
165
- this.formattedDate = `${String(localDate.getDate()).padStart(
166
- 2,
167
- '0'
168
- )}/${String(localDate.getMonth() + 1).padStart(
169
- 2,
170
- '0'
171
- )}/${localDate.getFullYear()}`;
172
143
  }
173
144
  }
174
145
  }
175
146
 
176
- updated(changedProperties: PropertyValues) {
177
- super.updated(changedProperties);
178
-
179
- if (changedProperties.has('valueAttribute')) {
180
- const date = new Date(this.valueAttribute || '');
181
- if (!isNaN(date.getTime())) {
182
- const offset = date.getTimezoneOffset();
183
- this.value = new Date(date.getTime() - offset * 60 * 1000);
184
- this.currentMonth = this.value.getMonth();
185
- this.currentYear = this.value.getFullYear();
186
- }
187
- }
188
- }
147
+ /**
148
+ * Render method
149
+ */
150
+ render(): TemplateResult {
151
+ return html`
152
+ <div
153
+ class=${classMap({
154
+ base:true,
155
+ base__range:this.range,
156
+ })}
157
+ >
158
+ <div class="calendar-config ${!this.range ? 'hidden' : ''}">
159
+ <div class="calendar-switcher">
160
+ <nile-tab-group centered @nile-tab-show="${this.onTypeChange}">
161
+ <nile-tab slot="nav" panel="absolute">Absolute</nile-tab>
162
+ <nile-tab slot="nav" panel="relative">Relative</nile-tab>
163
+ </nile-tab-group>
164
+ </div>
165
+ </div>
189
166
 
190
- static get observedAttributes() {
191
- return ['value', 'range'];
192
- }
167
+ ${this.type == 'relative' ? this.renderRelativeCalendar():''}
168
+ ${this.type == 'absolute' ? this.renderAbsoluteCalendar():''}
193
169
 
194
- attributeChangedCallback(name: string, oldValue: string, newValue: string) {
195
- if (name === 'value') {
196
- this.valueAttribute = newValue;
197
- this.initializeValue();
198
- } else if (name === 'range') {
199
- this.range = newValue !== null;
200
- }
170
+ ${!this.range?'':html`
171
+ <div class="button-container">
172
+ <nile-button
173
+ class="apply-button"
174
+ ?disabled="${ !this.startDate || !this.endDate }"
175
+ @click="${this.confimRange}"
176
+ > Apply</nile-button>
177
+ </div>
178
+ `}
179
+ </div>
180
+ `;
201
181
  }
202
182
 
203
- initializeValue() {
204
- if (this.range) {
205
- try {
206
- const rangeValue = JSON.parse(this.valueAttribute || '');
207
- this.startDate = new Date(rangeValue.startDate);
208
- this.endDate = new Date(rangeValue.endDate);
209
-
210
- // Convert to local time
211
- this.startDate = new Date(this.startDate.getTime());
212
- this.endDate = new Date(this.endDate.getTime());
183
+ /**
184
+ * @returns HTML content for absolute calendar
185
+ */
186
+ renderAbsoluteCalendar(){
187
+ return html`
188
+ <div class="calendar-wrapper">
189
+ <div class="calendar-container">
190
+ ${this.renderMonth(
191
+ this.currentYear,
192
+ this.currentMonth,
193
+ this.getDaysArray(this.currentYear, this.currentMonth)
194
+ )}
195
+ </div>
196
+ </div>
197
+ ${this.range ? html`
198
+ <div class="calender-input ${this.showManualInputs ? '' : 'hidden'}" >
199
+ <div class="from">
200
+ <nile-input
201
+ label="From"
202
+ class="manual-input"
203
+ value="${this.formatTime(this.startDate)}"
204
+ placeholder="HH:MM:SS" @nile-change="${this.handleStartTimeInput}"
205
+ > </nile-input>
206
+ </div>
213
207
 
214
- this.rangeValue = {
215
- startDate: this.startDate,
216
- endDate: this.endDate,
217
- };
218
- this.value = null;
219
- } catch (e) {
220
- // console.error('Invalid range value');
221
- }
222
- } else {
223
- if (this.valueAttribute) {
224
- let date: Date;
208
+ <div class="from">
209
+ <nile-input
210
+ label="To"
211
+ class="manual-input"
212
+ value="${this.formatTime(this.endDate)}"
213
+ placeholder="HH:MM:SS" @nile-change="${this.handleEndTimeInput}"
214
+ > </nile-input>
215
+ </div>
216
+ </div>
217
+ `:''}
218
+ `
219
+ }
225
220
 
226
- date = new Date(this.valueAttribute);
221
+ /**
222
+ * @returns HTML content for relative calendar
223
+ */
224
+ renderRelativeCalendar(){
225
+ return html`
226
+ <div class="units-wrapper">
227
+ <div class="unit-container">
228
+ ${this.hideDurationFields?.includes('minutes')?'':html`
229
+ <div class="duration-name">Minutes</div>
230
+ <div class="duration-units">
231
+ ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}
232
+ </div>
233
+ `}
227
234
 
228
- date = new Date(date.getTime() - date.getTimezoneOffset() * 60000);
235
+ ${this.hideDurationFields?.includes('hours')?'':html`
236
+ <div class="duration-name">Hours</div>
237
+ <div class="duration-units">
238
+ ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}
239
+ </div>
240
+ `}
241
+
242
+ ${this.hideDurationFields?.includes('days')?'':html`
243
+ <div class="duration-name">Days</div>
244
+ <div class="duration-units">
245
+ ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}
246
+ </div>
247
+ `}
248
+
249
+ ${this.hideDurationFields?.includes('weeks')?'':html`
250
+ <div class="duration-name">Weeks</div>
251
+ <div class="duration-units">
252
+ ${this.renderTimeValues('weeks', [1, 2, 4, 6])}
253
+ </div>
254
+ `}
255
+
256
+ ${this.hideDurationFields?.includes('months')?'':html`
257
+ <div class="duration-name">Months</div>
258
+ <div class="duration-units">
259
+ ${this.renderTimeValues('months', [3, 6, 12, 15])}
260
+ </div>
261
+ `}
262
+ </div>
263
+ </div>
264
+
265
+ ${this.range ? html`
266
+ <div>
267
+ <div class="unit-input-container">
268
+ <nile-input
269
+ class="manual-input duration-input"
270
+ label="Duration"
271
+ value="${this.selectedValue}"
272
+ @nile-input="${this.handleDurationChange}"
273
+ placeholder="Enter Value"
274
+ ></nile-input>
229
275
 
230
- if (!isNaN(date.getTime())) {
231
- this.value = date;
232
- this.currentMonth = this.value.getMonth();
233
- this.currentYear = this.value.getFullYear();
234
- this.rangeValue = null;
235
- }
236
- }
237
- }
238
- this.requestUpdate();
276
+ <nile-select class="manual-input time-input"
277
+ label="Unit of time"
278
+ style="margin-top:3px"
279
+ value="${ this.selectedUnit }"
280
+ @nile-change="${this.handleUnitChange}"
281
+ >
282
+ <nile-option value="minutes" class="${this.hideDurationFields?.includes('minutes')?'hidden':''}">Minutes</nile-option>
283
+ <nile-option value="hours" class="${this.hideDurationFields?.includes('hours')?'hidden':''}"> Hours </nile-option>
284
+ <nile-option value="days" class="${this.hideDurationFields?.includes('days')?'hidden':''}">Days</nile-option>
285
+ <nile-option value="weeks" class="${this.hideDurationFields?.includes('weeks')?'hidden':''}">Weeks</nile-option>
286
+ <nile-option value="months" class="${this.hideDurationFields?.includes('months')?'hidden':''}"> Months </nile-option>
287
+ </nile-select>
288
+ </div>
289
+ </div>
290
+ `:''}
291
+ `
239
292
  }
240
-
241
- connectedCallback() {
242
- super.connectedCallback();
243
- this.initializeValue();
244
-
245
- if (this.valueAttribute) {
246
- const date = new Date(this.valueAttribute);
247
- if (!isNaN(date.getTime())) {
248
- this.value = date;
249
- this.currentMonth = this.value.getMonth();
250
- this.currentYear = this.value.getFullYear();
251
- }
252
- }
253
- this.emit('nile-init');
254
- }
255
-
256
- disconnectedCallback() {
257
- super.disconnectedCallback();
258
- this.emit('nile-destroy');
259
- }
260
-
261
- private getDaysArray(year: number, month: number): number[] {
262
- const daysInMonth = new Date(year, month + 1, 0).getDate();
263
- return Array.from({ length: daysInMonth }, (_, i) => i + 1);
264
- }
265
-
266
- private nextMonth(): void {
267
- if (this.currentMonth === 11) {
268
- this.currentMonth = 0;
269
- this.currentYear++;
270
- } else {
271
- this.currentMonth++;
272
- }
273
- this.requestUpdate();
274
- }
275
-
276
- private prevMonth(): void {
277
- if (this.currentMonth === 0) {
278
- this.currentMonth = 11;
279
- this.currentYear--;
280
- } else {
281
- this.currentMonth--;
282
- }
283
- this.requestUpdate();
284
- }
285
-
286
- private selectDate(day: number, month: number, year: number): void {
287
- const selectedDate = new Date(year, month, day);
288
-
289
- if (this.range) {
290
- if (this.startDate && this.endDate) {
291
- this.startDate = null;
292
- this.endDate = null;
293
- }
294
-
295
- if (this.isSelectingStart) {
296
- this.startDate = selectedDate;
297
- if (this.endDate && selectedDate > this.endDate) {
298
- this.endDate = null;
299
- }
300
- this.isSelectingStart = false;
301
- } else {
302
- this.isSelectingStart = true;
303
-
304
- if (this.startDate && selectedDate < this.startDate) {
305
- this.startDate = selectedDate;
306
- this.endDate = null;
307
- this.isSelectingStart = false;
308
- } else {
309
- const endDate = selectedDate;
310
- endDate.setHours(23, 59, 59, 999);
311
- this.endDate = endDate;
312
- }
313
- }
314
- } else {
315
- this.value = selectedDate;
316
- this.emit('nile-changed', { value: this.value });
317
- if (this.dropdown) {
318
- this.dropdown.hide();
319
- }
320
- }
321
-
322
- this.requestUpdate();
323
- }
324
-
325
- private confimRange() {
326
- if (this.startDate && this.endDate) {
327
- if (this.selectedTimeZone !== 'local') {
328
- this.startDate = this.convertTZ(this.startDate, this.selectedTimeZone);
329
- this.endDate = this.convertTZ(this.endDate, this.selectedTimeZone);
330
- }
331
-
332
- this.emit('nile-changed', {
333
- startDate: this.startDate,
334
- endDate: this.endDate,
335
- });
336
- if (this.dropdown) {
337
- this.dropdown.hide();
338
- }
339
-
340
- this.rangeValue = {
341
- startDate: this.startDate,
342
- endDate: this.endDate,
343
- };
344
- }
345
- }
346
-
347
- convertTZ(date: Date, tzString: any) {
348
- return new Date(
349
- (typeof date === 'string' ? new Date(date) : date).toLocaleString(
350
- 'en-US',
351
- { timeZone: tzString }
352
- )
353
- );
354
- }
355
-
356
- isCurrentDate(day: number, month: number, year: number) {
357
- const today = new Date();
358
- return (
359
- day === today.getDate() &&
360
- month + 1 === today.getMonth() + 1 &&
361
- year === today.getFullYear()
362
- );
363
- }
364
-
365
- isAllowedDate(day: number, month: number, year: number) {
366
- if (!this.validAllowedDates) {
367
- return true;
368
- }
369
- const dateToCheck = new Date(Date.UTC(year, month, day));
370
- const startDate = new Date(
371
- Date.UTC(
372
- this.allowedDates?.startDate?.slice(0, 4),
373
- this.allowedDates?.startDate?.slice(5, 7) - 1,
374
- this.allowedDates?.startDate?.slice(8, 10)
375
- )
376
- );
377
- const endDate = new Date(
378
- Date.UTC(
379
- this.allowedDates?.endDate?.slice(0, 4),
380
- this.allowedDates?.endDate?.slice(5, 7) - 1,
381
- this.allowedDates?.endDate?.slice(8, 10)
382
- )
383
- );
384
- endDate.setUTCHours(23, 59, 59, 999);
385
- const isWithinRange = dateToCheck >= startDate && dateToCheck <= endDate;
386
- return isWithinRange;
293
+
294
+ /**
295
+ *
296
+ * @param unit
297
+ * @param values
298
+ * @returns html for the option
299
+ */
300
+ renderTimeValues(unit: string, values: any[]) {
301
+ return values.map(
302
+ value =>
303
+ html`
304
+ <div
305
+ class="duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected':''}"
306
+ @click=${(e: any) => this.handleTimeValueClick(unit, value, e)}
307
+ >${value}
308
+ </div>`
309
+ );
387
310
  }
388
311
 
312
+ /**
313
+ *
314
+ * @param year
315
+ * @param month
316
+ * @param daysArray
317
+ * @returns HTML for rendered month
318
+ */
389
319
  private renderMonth(
390
320
  year: number,
391
321
  month: number,
@@ -451,6 +381,15 @@ export class NileCalendar extends NileElement {
451
381
  return false;
452
382
  };
453
383
 
384
+ const isCurrentDate = (day: number, month: number, year: number) => {
385
+ const today = new Date();
386
+ return (
387
+ day === today.getDate() &&
388
+ month + 1 === today.getMonth() + 1 &&
389
+ year === today.getFullYear()
390
+ );
391
+ };
392
+
454
393
  return html`
455
394
  <div class="calendar">
456
395
  <div class="calendar-header">
@@ -493,7 +432,6 @@ export class NileCalendar extends NileElement {
493
432
  'day_date' : true,
494
433
  'not-allowed' : !this.isAllowedDate(day, month, year),
495
434
  'in-range' : isInRange(day, month, year, isCurrentMonth) ,
496
- // 'current-date' : this.isCurrentDate(day, month, year) && isCurrentMonth,
497
435
  'filler' : !isCurrentMonth,
498
436
  }
499
437
  if(datePlacement) classMapObj[datePlacement]=true
@@ -505,7 +443,7 @@ export class NileCalendar extends NileElement {
505
443
  >
506
444
  <span style="position:relative;">
507
445
  ${day}
508
- ${this.isCurrentDate(day, month, year) && isCurrentMonth?html`<div class="current__date__dot"></div>`:nothing}
446
+ ${isCurrentDate(day, month, year) && isCurrentMonth?html`<div class="current__date__dot"></div>`:nothing}
509
447
  </span>
510
448
  </div>`;
511
449
  })}
@@ -514,90 +452,158 @@ export class NileCalendar extends NileElement {
514
452
  `;
515
453
  }
516
454
 
517
- private formatDate(date: Date | null): string {
518
- if (!date) return '';
519
- const day = String(date.getDate()).padStart(2, '0');
520
- const month = String(date.getMonth() + 1).padStart(2, '0');
521
- const year = date.getFullYear();
522
- return `${day}/${month}/${year}`;
523
- }
524
-
525
- private formatDateRange(value: {
526
- startDate: Date | null;
527
- endDate: Date | null;
528
- }): string {
529
- if (!value) {
530
- return value;
455
+ /**
456
+ * Function to validate if date is not in allowedDates range
457
+ * @param day
458
+ * @param month
459
+ * @param year
460
+ * @returns
461
+ */
462
+ isAllowedDate(day: number, month: number, year: number) {
463
+ if (!this.allowedDatesLocal) {
464
+ return true;
531
465
  }
532
- if (!value.startDate || !value.endDate) return '';
533
- return `${this.formatDate(value.startDate)} - ${this.formatDate(
534
- value.endDate
535
- )}`;
466
+ const dateToCheck = new Date(Date.UTC(year, month, day));
467
+ const startDate = this.getUTCDate(this.allowedDatesLocal.startDate)
468
+ const endDate = this.getUTCDate(this.allowedDatesLocal.endDate)
469
+ endDate.setUTCHours(23, 59, 59, 999);
470
+ const isWithinRange = dateToCheck >= startDate && dateToCheck <= endDate;
471
+ return isWithinRange;
536
472
  }
537
473
 
538
- private handleStartDateInput(event: CustomEvent): void {
539
- const date = this.parseDate(event.detail.value);
540
- if (!this.isValidDateInput(date)) {
541
- this.startDate = null;
542
- }
543
- if (date && (!this.endDate || date <= this.endDate)) {
544
- this.startDate = date;
474
+ /**
475
+ * @function handle_date-click/select
476
+ * @param day
477
+ * @param month
478
+ * @param year
479
+ */
480
+ selectDate(day: number, month: number, year: number): void {
481
+ const selectedDate = new Date(year, month, day);
482
+
483
+ if (this.range) {
484
+ if (this.startDate && this.endDate) {
485
+ this.startDate = null;
486
+ this.endDate = null;
487
+ }
488
+
489
+ if (this.isSelectingStart) {
490
+ this.startDate = selectedDate;
491
+ if (this.endDate && selectedDate > this.endDate) {
492
+ this.endDate = null;
493
+ }
494
+ this.isSelectingStart = false;
495
+ } else {
496
+ this.isSelectingStart = true;
497
+
498
+ if (this.startDate && selectedDate < this.startDate) {
499
+ this.startDate = selectedDate;
500
+ this.endDate = null;
501
+ this.isSelectingStart = false;
502
+ } else {
503
+ const endDate = selectedDate;
504
+ endDate.setHours(23, 59, 59, 999);
505
+ this.endDate = endDate;
506
+ }
507
+ }
545
508
  } else {
546
- this.startDate = null;
547
- this.endDate = null;
509
+ this.value = selectedDate;
510
+ this.emitChangedData({ value: this.value });
511
+ if (this.dropdown) {
512
+ this.dropdown.hide();
513
+ }
548
514
  }
549
- this.requestUpdate();
550
515
  }
551
516
 
552
- private handleEndDateInput(event: CustomEvent): void {
553
- const date = this.parseDate(event.detail.value);
554
- if (!this.isValidDateInput(date)) {
555
- this.endDate = null;
556
- }
557
- if (date && (!this.startDate || date >= this.startDate)) {
558
- this.endDate = date;
517
+ /**
518
+ * Function to be called on initialization to set all other properties
519
+ */
520
+ initializeValue() {
521
+ if (this.range) {
522
+ try {
523
+ const rangeValue = JSON.parse(this.valueAttribute || '');
524
+ this.startDate = new Date(rangeValue.startDate);
525
+ this.endDate = new Date(rangeValue.endDate);
526
+
527
+ // Convert to local time
528
+ this.startDate = new Date(this.startDate.getTime());
529
+ this.endDate = new Date(this.endDate.getTime());
530
+
531
+ this.value = null;
532
+ } catch (e) {
533
+ // console.error('Invalid range value');
534
+ }
559
535
  } else {
560
- this.endDate = null;
536
+ if (this.valueAttribute) {
537
+ let date: Date = new Date(this.valueAttribute);
538
+
539
+ date = new Date(date.getTime() - date.getTimezoneOffset() * 60000);
540
+
541
+ if (!isNaN(date.getTime())) {
542
+ this.value = date;
543
+ this.currentMonth = this.value.getMonth();
544
+ this.currentYear = this.value.getFullYear();
545
+ }
546
+ }
561
547
  }
562
- this.requestUpdate();
563
548
  }
564
549
 
565
- private parseDate(dateString: string): Date | null {
566
- const [day, month, year] = dateString.split('/').map(Number);
567
- const date = new Date(year, month - 1, day);
568
- return !isNaN(date.getTime()) ? date : null;
550
+ /**
551
+ * Function to handle relative date selection
552
+ */
553
+ handleDurationChange(event: any) {
554
+ this.selectedValue = Number(event.detail.value);
555
+ if (this.selectedUnit && this.selectedValue) {
556
+ this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
557
+ }
569
558
  }
570
559
 
571
- private isValidDateInput(input: any): boolean {
572
- const regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
573
- return regex.test(input);
560
+ handleUnitChange(event: any) {
561
+ this.selectedUnit = event.detail.value;
562
+ if (this.selectedUnit && this.selectedValue) {
563
+ this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
564
+ }
574
565
  }
575
566
 
576
- private formatTime(date: Date | null): string {
577
- if (!date) return '';
578
- const hours = String(date.getHours()).padStart(2, '0');
579
- const minutes = String(date.getMinutes()).padStart(2, '0');
580
- const seconds = String(date.getSeconds()).padStart(2, '0');
581
- return `${hours}:${minutes}:${seconds}`;
567
+ handleTimeValueClick(unit: string, value: number, event: any) {
568
+ // const timestamps = this.createRelativePeriod(unit, value);
569
+ this.selectedUnit = unit;
570
+ this.selectedValue = value;
582
571
  }
583
572
 
584
- // Validate time in HH:MM:SS format
585
- private isValidTimeInput(input: string): boolean {
586
- const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
587
- return regex.test(input);
588
- }
573
+ createRelativePeriod(unit: String, value: number) {
574
+ const endTime = new Date();
575
+ const startTime = new Date();
589
576
 
590
- // Parse time string to a Date object
591
- private parseTime(input: string, date: Date): Date | null {
592
- if (!this.isValidTimeInput(input)) {
593
- return null;
577
+ switch (unit) {
578
+ case 'minutes':
579
+ startTime.setMinutes(startTime.getMinutes() - value);
580
+ break;
581
+ case 'hours':
582
+ startTime.setHours(startTime.getHours() - value);
583
+ break;
584
+ case 'days':
585
+ startTime.setDate(startTime.getDate() - value);
586
+ break;
587
+ case 'weeks':
588
+ startTime.setDate(startTime.getDate() - 7 * value); // Subtract weeks as days
589
+ break;
590
+ case 'months':
591
+ startTime.setMonth(startTime.getMonth() - value);
592
+ break;
594
593
  }
595
- const [hour, minute, second] = input.split(':').map(Number);
596
- const newDate = new Date(date.getTime());
597
- newDate.setHours(hour, minute, second);
598
- return newDate;
599
- }
600
594
 
595
+ this.startDate = new Date(startTime.getTime());
596
+ this.endDate = new Date(endTime.getTime());
597
+
598
+ return {
599
+ startDate: this.startDate,
600
+ endDate: this.endDate,
601
+ };
602
+ }
603
+
604
+ /**
605
+ * Function to handle start time selecion
606
+ */
601
607
  private handleStartTimeInput(event: CustomEvent): void {
602
608
  if (!this.startDate) {
603
609
  this.startDate = null;
@@ -611,7 +617,10 @@ export class NileCalendar extends NileElement {
611
617
  }
612
618
  this.requestUpdate();
613
619
  }
614
-
620
+
621
+ /**
622
+ * Function to handle end time selecion
623
+ */
615
624
  private handleEndTimeInput(event: CustomEvent): void {
616
625
  if (!this.endDate) {
617
626
  this.endDate = null;
@@ -626,234 +635,149 @@ export class NileCalendar extends NileElement {
626
635
  this.requestUpdate();
627
636
  }
628
637
 
629
- setType(newType: string) {
630
- this.type = newType;
638
+ // Parse time string to a Date object
639
+ private parseTime(input: string, date: Date): Date | null {
640
+ if (!this.isValidTimeInput(input)) {
641
+ return null;
642
+ }
643
+ const [hour, minute, second] = input.split(':').map(Number);
644
+ const newDate = new Date(date.getTime());
645
+ newDate.setHours(hour, minute, second);
646
+ return newDate;
631
647
  }
632
648
 
633
- createRelativePeriod(unit: String, value: number) {
634
- const endTime = new Date();
635
- const startTime = new Date();
649
+ // Validate time in HH:MM:SS format
650
+ private isValidTimeInput(input: string): boolean {
651
+ const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
652
+ return regex.test(input);
653
+ }
636
654
 
637
- switch (unit) {
638
- case 'minutes':
639
- startTime.setMinutes(startTime.getMinutes() - value);
640
- break;
641
- case 'hours':
642
- startTime.setHours(startTime.getHours() - value);
643
- break;
644
- case 'days':
645
- startTime.setDate(startTime.getDate() - value);
646
- break;
647
- case 'weeks':
648
- startTime.setDate(startTime.getDate() - 7 * value); // Subtract weeks as days
649
- break;
650
- case 'months':
651
- startTime.setMonth(startTime.getMonth() - value);
652
- break;
655
+ private handleStartDateInput(event: CustomEvent): void {
656
+ const date = this.parseDate(event.detail.value);
657
+ if (!this.isValidDateInput(date)) {
658
+ this.startDate = null;
659
+ }
660
+ if (date && (!this.endDate || date <= this.endDate)) {
661
+ this.startDate = date;
662
+ } else {
663
+ this.startDate = null;
664
+ this.endDate = null;
653
665
  }
654
-
655
- this.startDate = new Date(startTime.getTime());
656
- this.endDate = new Date(endTime.getTime());
657
-
658
- this.requestUpdate();
659
-
660
- return {
661
- startDate: this.startDate,
662
- endDate: this.endDate,
663
- };
664
666
  }
665
667
 
666
- handleTimeValueClick(unit: string, value: number, event: any) {
667
- const timestamps = this.createRelativePeriod(unit, value);
668
-
669
- this.selectedUnit = unit;
670
- this.selectedValue = value;
671
-
672
- this.requestUpdate();
668
+ private handleEndDateInput(event: CustomEvent): void {
669
+ const date = this.parseDate(event.detail.value);
670
+ if (!this.isValidDateInput(date)) {
671
+ this.endDate = null;
672
+ }
673
+ if (date && (!this.startDate || date >= this.startDate)) {
674
+ this.endDate = date;
675
+ } else {
676
+ this.endDate = null;
677
+ }
673
678
  }
674
679
 
675
- renderTimeValues(unit: string, values: any[]) {
676
- return values.map(
677
- value =>
678
- html`
679
- <div
680
- class="duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected':''}"
681
- @click=${(e: any) => this.handleTimeValueClick(unit, value, e)}
682
- >
683
- ${value}
684
- </div>
685
- `
686
- );
680
+ private isValidDateInput(input: any): boolean {
681
+ const regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
682
+ return regex.test(input);
687
683
  }
688
684
 
689
- handleDurationChange(event: any) {
690
- this.selectedValue = Number(event.detail.value);
691
- if (this.selectedUnit && this.selectedValue) {
692
- this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
693
- }
685
+ private parseDate(dateString: string): Date | null {
686
+ const [day, month, year] = dateString.split('/').map(Number);
687
+ const date = new Date(year, month - 1, day);
688
+ return !isNaN(date.getTime()) ? date : null;
694
689
  }
695
690
 
696
- handleUnitChange(event: any) {
697
- this.selectedUnit = event.detail.value;
698
- if (this.selectedUnit && this.selectedValue) {
699
- this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
691
+ private formatDateRange(value: {
692
+ startDate: Date | null;
693
+ endDate: Date | null;
694
+ }): string {
695
+ if (!value) {
696
+ return value;
700
697
  }
698
+ if (!value.startDate || !value.endDate) return '';
699
+ return `${this.formatDate(value.startDate)} - ${this.formatDate(
700
+ value.endDate
701
+ )}`;
701
702
  }
702
703
 
703
- handleTimeZoneChange(event: any) {
704
- this.selectedTimeZone = event.detail.value;
705
- this.requestUpdate();
704
+ private formatDate(date: Date | null): string {
705
+ if (!date) return '';
706
+ const day = String(date.getDate()).padStart(2, '0');
707
+ const month = String(date.getMonth() + 1).padStart(2, '0');
708
+ const year = date.getFullYear();
709
+ return `${day}/${month}/${year}`;
706
710
  }
707
711
 
708
- onTypeChange(event: any) {
709
- this.type = event.detail.value;
712
+ private formatTime(date: Date | null): string {
713
+ if (!date) return '';
714
+ const hours = String(date.getHours()).padStart(2, '0');
715
+ const minutes = String(date.getMinutes()).padStart(2, '0');
716
+ const seconds = String(date.getSeconds()).padStart(2, '0');
717
+ return `${hours}:${minutes}:${seconds}`;
710
718
  }
711
719
 
712
- /**
713
- * Render method
714
- */
715
- render(): TemplateResult {
716
- return html`
717
- <div
718
- class=${classMap({
719
- base:true,
720
- base__range:this.range,
721
- })}
722
- >
723
- <div class="calendar-config ${!this.range ? 'hidden' : ''}">
724
- <div class="calendar-switcher">
725
- <nile-tab-group centered @nile-tab-show="${this.onTypeChange}">
726
- <nile-tab slot="nav" panel="absolute">Absolute</nile-tab>
727
- <nile-tab slot="nav" panel="relative">Relative</nile-tab>
728
- </nile-tab-group>
729
- </div>
730
- </div>
731
-
732
- ${this.type == 'relative' ? this.renderRelativeCalendar():''}
733
- ${this.type == 'absolute' ? this.renderAbsoluteCalendar():''}
720
+ private nextMonth(): void {
721
+ if (this.currentMonth === 11) {
722
+ this.currentMonth = 0;
723
+ this.currentYear++;
724
+ } else {
725
+ this.currentMonth++;
726
+ }
727
+ }
734
728
 
735
- ${!this.range?'':html`
736
- <div class="button-container">
737
- <nile-button
738
- class="apply-button"
739
- ?disabled="${ !this.startDate || !this.endDate }"
740
- @click="${this.confimRange}"
741
- > Apply</nile-button>
742
- </div>
743
- `}
744
- </div>
745
- `;
729
+ private prevMonth(): void {
730
+ if (this.currentMonth === 0) {
731
+ this.currentMonth = 11;
732
+ this.currentYear--;
733
+ } else {
734
+ this.currentMonth--;
735
+ }
746
736
  }
747
737
 
748
- /**
749
- * @returns HTML content for absolute calendar
750
- */
751
- renderAbsoluteCalendar(){
752
- return html`
753
- <div class="calendar-wrapper">
754
- <div class="calendar-container">
755
- ${this.renderMonth(
756
- this.currentYear,
757
- this.currentMonth,
758
- this.getDaysArray(this.currentYear, this.currentMonth)
759
- )}
760
- </div>
761
- </div>
762
- ${this.range ? html`
763
- <div class="calender-input ${this.showManualInputs ? '' : 'hidden'}" >
764
- <div class="from">
765
- <nile-input
766
- label="From"
767
- class="manual-input"
768
- value="${this.formatTime(this.startDate)}"
769
- placeholder="HH:MM:SS" @nile-change="${this.handleStartTimeInput}"
770
- > </nile-input>
771
- </div>
738
+ private confimRange() {
739
+ if (this.startDate && this.endDate) {
772
740
 
773
- <div class="from">
774
- <nile-input
775
- label="To"
776
- class="manual-input"
777
- value="${this.formatTime(this.endDate)}"
778
- placeholder="HH:MM:SS" @nile-change="${this.handleEndTimeInput}"
779
- > </nile-input>
780
- </div>
781
- </div>
782
- `:''}
783
- `
741
+ this.emitChangedData( {
742
+ startDate: this.startDate,
743
+ endDate: this.endDate,
744
+ });
745
+ if (this.dropdown) {
746
+ this.dropdown.hide();
747
+ }
748
+ }
784
749
  }
785
750
 
786
- /**
787
- * @returns HTML content for relative calendar
788
- */
789
- renderRelativeCalendar(){
790
- return html`
791
- <div class="units-wrapper">
792
- <div class="unit-container">
793
- ${this.hideDurationFields?.includes('minutes')?'':html`
794
- <div class="duration-name">Minutes</div>
795
- <div class="duration-units">
796
- ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}
797
- </div>
798
- `}
751
+ convertTZ(date: Date, tzString: any) {
752
+ return new Date(
753
+ (typeof date === 'string' ? new Date(date) : date).toLocaleString(
754
+ 'en-US',
755
+ { timeZone: tzString }
756
+ )
757
+ );
758
+ }
799
759
 
800
- ${this.hideDurationFields?.includes('hours')?'':html`
801
- <div class="duration-name">Hours</div>
802
- <div class="duration-units">
803
- ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}
804
- </div>
805
- `}
806
-
807
- ${this.hideDurationFields?.includes('days')?'':html`
808
- <div class="duration-name">Days</div>
809
- <div class="duration-units">
810
- ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}
811
- </div>
812
- `}
813
-
814
- ${this.hideDurationFields?.includes('weeks')?'':html`
815
- <div class="duration-name">Weeks</div>
816
- <div class="duration-units">
817
- ${this.renderTimeValues('weeks', [1, 2, 4, 6])}
818
- </div>
819
- `}
820
-
821
- ${this.hideDurationFields?.includes('months')?'':html`
822
- <div class="duration-name">Months</div>
823
- <div class="duration-units">
824
- ${this.renderTimeValues('months', [3, 6, 12, 15])}
825
- </div>
826
- `}
827
- </div>
828
- </div>
829
-
830
- ${this.range ? html`
831
- <div>
832
- <div class="unit-input-container">
833
- <nile-input
834
- class="manual-input duration-input"
835
- label="Duration"
836
- value="${this.selectedValue}"
837
- @nile-input="${this.handleDurationChange}"
838
- placeholder="Enter Value"
839
- ></nile-input>
760
+ onTypeChange(event: CustomEvent) {
761
+ this.type = event.detail.value;
762
+ }
763
+ getUTCDate(dateStr:any){
764
+ return new Date(
765
+ Date.UTC(
766
+ dateStr.slice(0, 4),
767
+ dateStr.slice(5, 7) - 1,
768
+ dateStr.slice(8, 10)
769
+ )
770
+ )
771
+ }
840
772
 
841
- <nile-select class="manual-input time-input"
842
- label="Unit of time"
843
- style="margin-top:3px"
844
- value="${ this.selectedUnit }"
845
- @nile-change="${this.handleUnitChange}"
846
- >
847
- <nile-option value="minutes" class="${this.hideDurationFields?.includes('minutes')?'hidden':''}">Minutes</nile-option>
848
- <nile-option value="hours" class="${this.hideDurationFields?.includes('hours')?'hidden':''}"> Hours </nile-option>
849
- <nile-option value="days" class="${this.hideDurationFields?.includes('days')?'hidden':''}">Days</nile-option>
850
- <nile-option value="weeks" class="${this.hideDurationFields?.includes('weeks')?'hidden':''}">Weeks</nile-option>
851
- <nile-option value="months" class="${this.hideDurationFields?.includes('months')?'hidden':''}"> Months </nile-option>
852
- </nile-select>
853
- </div>
854
- </div>
855
- `:''}
856
- `
773
+ emitChangedData(data:{startDate:Date,endDate:Date}|{value:any}){
774
+ this.emit('nile-changed',data);
775
+ this.emit('nile-change',data)
776
+ }
777
+
778
+ private getDaysArray(year: number, month: number): number[] {
779
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
780
+ return Array.from({ length: daysInMonth }, (_, i) => i + 1);
857
781
  }
858
782
  }
859
783