@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
@@ -12,7 +12,6 @@ import { classMap } from 'lit/directives/class-map.js';
12
12
  import { query } from 'lit/decorators.js';
13
13
  import { watch } from '../internal/watch';
14
14
  import NileElement from '../internal/nile-element';
15
- import '../nile-popup';
16
15
  /**
17
16
  * Nile icon component.
18
17
  *
@@ -22,75 +21,35 @@ import '../nile-popup';
22
21
  let NileCalendar = class NileCalendar extends NileElement {
23
22
  constructor() {
24
23
  super(...arguments);
25
- this.currentMonth = new Date().getMonth();
26
- this.currentYear = new Date().getFullYear();
27
- this.dropDownOpened = false;
28
- this.allowedDates = {};
29
24
  this.valueAttribute = null;
30
- this.formattedDate = null;
31
- this.startDate = null;
32
- this.endDate = null;
33
- this.isSelectingStart = true;
25
+ this.allowedDates = JSON.stringify({});
34
26
  this.range = false;
35
27
  this.type = 'absolute';
36
- this.selectedTimeZone = 'local';
37
- this.validAllowedDates = true;
38
- this.hideInput = false;
39
28
  this.hideDurationFields = [];
40
- this.hideTimeZone = false;
41
29
  this.showManualInputs = false;
30
+ this.startDate = null;
31
+ this.endDate = null;
32
+ this.isSelectingStart = true;
33
+ this.hideInput = false;
34
+ this.currentMonth = new Date().getMonth();
35
+ this.currentYear = new Date().getFullYear();
36
+ this.allowedDatesLocal = null;
42
37
  }
43
38
  /**
44
- * The styles for NileCalendar
39
+ * The styles for NileCalendar
45
40
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
46
41
  */
47
42
  static get styles() {
48
43
  return [styles];
49
44
  }
50
- firstUpdated() {
51
- const allowedDatesAttribute = this.getAttribute('allowed-dates');
52
- if (allowedDatesAttribute !== null) {
53
- try {
54
- this.allowedDates = JSON.parse(allowedDatesAttribute);
55
- }
56
- catch (error) {
57
- console.error('Error parsing allowed-dates attribute:', error);
58
- }
59
- }
60
- else {
61
- this.validAllowedDates = false;
62
- }
63
- }
64
- checkValidAllowedDate() {
65
- if (Object.keys(this.allowedDates).length == 0) {
66
- this.validAllowedDates = false;
67
- return;
68
- }
69
- this.hideInput = true;
70
- const startDate = new Date(Date.UTC(this.allowedDates?.startDate?.slice(0, 4), this.allowedDates?.startDate?.slice(5, 7) - 1, this.allowedDates?.startDate?.slice(8, 10)));
71
- const endDate = new Date(Date.UTC(this.allowedDates?.endDate?.slice(0, 4), this.allowedDates?.endDate?.slice(5, 7) - 1, this.allowedDates?.endDate?.slice(8, 10)));
72
- if (startDate > endDate) {
73
- console.error('StartDate must be greater than endDate');
74
- this.validAllowedDates = false;
75
- }
76
- else {
77
- this.validAllowedDates = true;
78
- }
45
+ connectedCallback() {
46
+ super.connectedCallback();
47
+ this.initializeValue();
48
+ this.emit('nile-init');
79
49
  }
80
- valueChanged() {
81
- if (this.range && this.value) {
82
- this.rangeValue = this.value;
83
- this.value = null;
84
- return;
85
- }
86
- if (this.value && !isNaN(this.value.getTime())) {
87
- const offset = this.value.getTimezoneOffset();
88
- const localDate = new Date(this.value.getTime() - offset * 60 * 1000);
89
- if (!isNaN(localDate.getTime())) {
90
- this.valueAttribute = localDate.toISOString().split('T')[0];
91
- this.formattedDate = `${String(localDate.getDate()).padStart(2, '0')}/${String(localDate.getMonth() + 1).padStart(2, '0')}/${localDate.getFullYear()}`;
92
- }
93
- }
50
+ disconnectedCallback() {
51
+ super.disconnectedCallback();
52
+ this.emit('nile-destroy');
94
53
  }
95
54
  updated(changedProperties) {
96
55
  super.updated(changedProperties);
@@ -104,169 +63,208 @@ let NileCalendar = class NileCalendar extends NileElement {
104
63
  }
105
64
  }
106
65
  }
107
- static get observedAttributes() {
108
- return ['value', 'range'];
109
- }
110
- attributeChangedCallback(name, oldValue, newValue) {
66
+ attributeChangedCallback(name, _old, newValue) {
111
67
  if (name === 'value') {
112
68
  this.valueAttribute = newValue;
113
69
  this.initializeValue();
114
70
  }
115
- else if (name === 'range') {
116
- this.range = newValue !== null;
117
- }
118
- }
119
- initializeValue() {
120
- if (this.range) {
121
- try {
122
- const rangeValue = JSON.parse(this.valueAttribute || '');
123
- this.startDate = new Date(rangeValue.startDate);
124
- this.endDate = new Date(rangeValue.endDate);
125
- // Convert to local time
126
- this.startDate = new Date(this.startDate.getTime());
127
- this.endDate = new Date(this.endDate.getTime());
128
- this.rangeValue = {
129
- startDate: this.startDate,
130
- endDate: this.endDate,
131
- };
132
- this.value = null;
133
- }
134
- catch (e) {
135
- // console.error('Invalid range value');
136
- }
137
- }
138
- else {
139
- if (this.valueAttribute) {
140
- let date;
141
- date = new Date(this.valueAttribute);
142
- date = new Date(date.getTime() - date.getTimezoneOffset() * 60000);
143
- if (!isNaN(date.getTime())) {
144
- this.value = date;
145
- this.currentMonth = this.value.getMonth();
146
- this.currentYear = this.value.getFullYear();
147
- this.rangeValue = null;
148
- }
149
- }
150
- }
151
- this.requestUpdate();
152
71
  }
153
- connectedCallback() {
154
- super.connectedCallback();
155
- this.initializeValue();
156
- if (this.valueAttribute) {
157
- const date = new Date(this.valueAttribute);
158
- if (!isNaN(date.getTime())) {
159
- this.value = date;
160
- this.currentMonth = this.value.getMonth();
161
- this.currentYear = this.value.getFullYear();
162
- }
72
+ checkValidAllowedDate() {
73
+ let newDateRange;
74
+ try {
75
+ newDateRange = JSON.parse(this.allowedDates);
163
76
  }
164
- this.emit('nile-init');
165
- }
166
- disconnectedCallback() {
167
- super.disconnectedCallback();
168
- this.emit('nile-destroy');
169
- }
170
- getDaysArray(year, month) {
171
- const daysInMonth = new Date(year, month + 1, 0).getDate();
172
- return Array.from({ length: daysInMonth }, (_, i) => i + 1);
173
- }
174
- nextMonth() {
175
- if (this.currentMonth === 11) {
176
- this.currentMonth = 0;
177
- this.currentYear++;
77
+ catch (error) {
78
+ newDateRange = null;
178
79
  }
179
- else {
180
- this.currentMonth++;
80
+ if (!newDateRange || Object.keys(newDateRange).length == 0) {
81
+ this.allowedDatesLocal = null;
82
+ return;
181
83
  }
182
- this.requestUpdate();
183
- }
184
- prevMonth() {
185
- if (this.currentMonth === 0) {
186
- this.currentMonth = 11;
187
- this.currentYear--;
84
+ this.hideInput = true;
85
+ const startDate = this.getUTCDate(newDateRange.startDate);
86
+ const endDate = this.getUTCDate(newDateRange.endDate);
87
+ if (startDate > endDate) {
88
+ console.error('StartDate must be greater than endDate');
188
89
  }
189
90
  else {
190
- this.currentMonth--;
91
+ this.allowedDatesLocal = newDateRange;
191
92
  }
192
- this.requestUpdate();
193
93
  }
194
- selectDate(day, month, year) {
195
- const selectedDate = new Date(year, month, day);
196
- if (this.range) {
197
- if (this.startDate && this.endDate) {
198
- this.startDate = null;
199
- this.endDate = null;
200
- }
201
- if (this.isSelectingStart) {
202
- this.startDate = selectedDate;
203
- if (this.endDate && selectedDate > this.endDate) {
204
- this.endDate = null;
205
- }
206
- this.isSelectingStart = false;
207
- }
208
- else {
209
- this.isSelectingStart = true;
210
- if (this.startDate && selectedDate < this.startDate) {
211
- this.startDate = selectedDate;
212
- this.endDate = null;
213
- this.isSelectingStart = false;
214
- }
215
- else {
216
- const endDate = selectedDate;
217
- endDate.setHours(23, 59, 59, 999);
218
- this.endDate = endDate;
219
- }
220
- }
221
- }
222
- else {
223
- this.value = selectedDate;
224
- this.emit('nile-changed', { value: this.value });
225
- if (this.dropdown) {
226
- this.dropdown.hide();
227
- }
94
+ valueChanged() {
95
+ if (this.range && this.value) {
96
+ this.value = null;
97
+ return;
228
98
  }
229
- this.requestUpdate();
230
- }
231
- confimRange() {
232
- if (this.startDate && this.endDate) {
233
- if (this.selectedTimeZone !== 'local') {
234
- this.startDate = this.convertTZ(this.startDate, this.selectedTimeZone);
235
- this.endDate = this.convertTZ(this.endDate, this.selectedTimeZone);
236
- }
237
- this.emit('nile-changed', {
238
- startDate: this.startDate,
239
- endDate: this.endDate,
240
- });
241
- if (this.dropdown) {
242
- this.dropdown.hide();
99
+ if (this.value && !isNaN(this.value.getTime())) {
100
+ const offset = this.value.getTimezoneOffset();
101
+ const localDate = new Date(this.value.getTime() - offset * 60 * 1000);
102
+ if (!isNaN(localDate.getTime())) {
103
+ this.valueAttribute = localDate.toISOString().split('T')[0];
243
104
  }
244
- this.rangeValue = {
245
- startDate: this.startDate,
246
- endDate: this.endDate,
247
- };
248
105
  }
249
106
  }
250
- convertTZ(date, tzString) {
251
- return new Date((typeof date === 'string' ? new Date(date) : date).toLocaleString('en-US', { timeZone: tzString }));
107
+ /**
108
+ * Render method
109
+ */
110
+ render() {
111
+ return html `
112
+ <div
113
+ class=${classMap({
114
+ base: true,
115
+ base__range: this.range,
116
+ })}
117
+ >
118
+ <div class="calendar-config ${!this.range ? 'hidden' : ''}">
119
+ <div class="calendar-switcher">
120
+ <nile-tab-group centered @nile-tab-show="${this.onTypeChange}">
121
+ <nile-tab slot="nav" panel="absolute">Absolute</nile-tab>
122
+ <nile-tab slot="nav" panel="relative">Relative</nile-tab>
123
+ </nile-tab-group>
124
+ </div>
125
+ </div>
126
+
127
+ ${this.type == 'relative' ? this.renderRelativeCalendar() : ''}
128
+ ${this.type == 'absolute' ? this.renderAbsoluteCalendar() : ''}
129
+
130
+ ${!this.range ? '' : html `
131
+ <div class="button-container">
132
+ <nile-button
133
+ class="apply-button"
134
+ ?disabled="${!this.startDate || !this.endDate}"
135
+ @click="${this.confimRange}"
136
+ > Apply</nile-button>
137
+ </div>
138
+ `}
139
+ </div>
140
+ `;
252
141
  }
253
- isCurrentDate(day, month, year) {
254
- const today = new Date();
255
- return (day === today.getDate() &&
256
- month + 1 === today.getMonth() + 1 &&
257
- year === today.getFullYear());
142
+ /**
143
+ * @returns HTML content for absolute calendar
144
+ */
145
+ renderAbsoluteCalendar() {
146
+ return html `
147
+ <div class="calendar-wrapper">
148
+ <div class="calendar-container">
149
+ ${this.renderMonth(this.currentYear, this.currentMonth, this.getDaysArray(this.currentYear, this.currentMonth))}
150
+ </div>
151
+ </div>
152
+ ${this.range ? html `
153
+ <div class="calender-input ${this.showManualInputs ? '' : 'hidden'}" >
154
+ <div class="from">
155
+ <nile-input
156
+ label="From"
157
+ class="manual-input"
158
+ value="${this.formatTime(this.startDate)}"
159
+ placeholder="HH:MM:SS" @nile-change="${this.handleStartTimeInput}"
160
+ > </nile-input>
161
+ </div>
162
+
163
+ <div class="from">
164
+ <nile-input
165
+ label="To"
166
+ class="manual-input"
167
+ value="${this.formatTime(this.endDate)}"
168
+ placeholder="HH:MM:SS" @nile-change="${this.handleEndTimeInput}"
169
+ > </nile-input>
170
+ </div>
171
+ </div>
172
+ ` : ''}
173
+ `;
258
174
  }
259
- isAllowedDate(day, month, year) {
260
- if (!this.validAllowedDates) {
261
- return true;
262
- }
263
- const dateToCheck = new Date(Date.UTC(year, month, day));
264
- const startDate = new Date(Date.UTC(this.allowedDates?.startDate?.slice(0, 4), this.allowedDates?.startDate?.slice(5, 7) - 1, this.allowedDates?.startDate?.slice(8, 10)));
265
- const endDate = new Date(Date.UTC(this.allowedDates?.endDate?.slice(0, 4), this.allowedDates?.endDate?.slice(5, 7) - 1, this.allowedDates?.endDate?.slice(8, 10)));
266
- endDate.setUTCHours(23, 59, 59, 999);
267
- const isWithinRange = dateToCheck >= startDate && dateToCheck <= endDate;
268
- return isWithinRange;
175
+ /**
176
+ * @returns HTML content for relative calendar
177
+ */
178
+ renderRelativeCalendar() {
179
+ return html `
180
+ <div class="units-wrapper">
181
+ <div class="unit-container">
182
+ ${this.hideDurationFields?.includes('minutes') ? '' : html `
183
+ <div class="duration-name">Minutes</div>
184
+ <div class="duration-units">
185
+ ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}
186
+ </div>
187
+ `}
188
+
189
+ ${this.hideDurationFields?.includes('hours') ? '' : html `
190
+ <div class="duration-name">Hours</div>
191
+ <div class="duration-units">
192
+ ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}
193
+ </div>
194
+ `}
195
+
196
+ ${this.hideDurationFields?.includes('days') ? '' : html `
197
+ <div class="duration-name">Days</div>
198
+ <div class="duration-units">
199
+ ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}
200
+ </div>
201
+ `}
202
+
203
+ ${this.hideDurationFields?.includes('weeks') ? '' : html `
204
+ <div class="duration-name">Weeks</div>
205
+ <div class="duration-units">
206
+ ${this.renderTimeValues('weeks', [1, 2, 4, 6])}
207
+ </div>
208
+ `}
209
+
210
+ ${this.hideDurationFields?.includes('months') ? '' : html `
211
+ <div class="duration-name">Months</div>
212
+ <div class="duration-units">
213
+ ${this.renderTimeValues('months', [3, 6, 12, 15])}
214
+ </div>
215
+ `}
216
+ </div>
217
+ </div>
218
+
219
+ ${this.range ? html `
220
+ <div>
221
+ <div class="unit-input-container">
222
+ <nile-input
223
+ class="manual-input duration-input"
224
+ label="Duration"
225
+ value="${this.selectedValue}"
226
+ @nile-input="${this.handleDurationChange}"
227
+ placeholder="Enter Value"
228
+ ></nile-input>
229
+
230
+ <nile-select class="manual-input time-input"
231
+ label="Unit of time"
232
+ style="margin-top:3px"
233
+ value="${this.selectedUnit}"
234
+ @nile-change="${this.handleUnitChange}"
235
+ >
236
+ <nile-option value="minutes" class="${this.hideDurationFields?.includes('minutes') ? 'hidden' : ''}">Minutes</nile-option>
237
+ <nile-option value="hours" class="${this.hideDurationFields?.includes('hours') ? 'hidden' : ''}"> Hours </nile-option>
238
+ <nile-option value="days" class="${this.hideDurationFields?.includes('days') ? 'hidden' : ''}">Days</nile-option>
239
+ <nile-option value="weeks" class="${this.hideDurationFields?.includes('weeks') ? 'hidden' : ''}">Weeks</nile-option>
240
+ <nile-option value="months" class="${this.hideDurationFields?.includes('months') ? 'hidden' : ''}"> Months </nile-option>
241
+ </nile-select>
242
+ </div>
243
+ </div>
244
+ ` : ''}
245
+ `;
246
+ }
247
+ /**
248
+ *
249
+ * @param unit
250
+ * @param values
251
+ * @returns html for the option
252
+ */
253
+ renderTimeValues(unit, values) {
254
+ return values.map(value => html `
255
+ <div
256
+ class="duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected' : ''}"
257
+ @click=${(e) => this.handleTimeValueClick(unit, value, e)}
258
+ >${value}
259
+ </div>`);
269
260
  }
261
+ /**
262
+ *
263
+ * @param year
264
+ * @param month
265
+ * @param daysArray
266
+ * @returns HTML for rendered month
267
+ */
270
268
  renderMonth(year, month, daysArray) {
271
269
  const firstDay = new Date(year, month, 1).getDay();
272
270
  const lastDay = new Date(year, month + 1, 0).getDay();
@@ -304,6 +302,12 @@ let NileCalendar = class NileCalendar extends NileElement {
304
302
  }
305
303
  return false;
306
304
  };
305
+ const isCurrentDate = (day, month, year) => {
306
+ const today = new Date();
307
+ return (day === today.getDate() &&
308
+ month + 1 === today.getMonth() + 1 &&
309
+ year === today.getFullYear());
310
+ };
307
311
  return html `
308
312
  <div class="calendar">
309
313
  <div class="calendar-header">
@@ -345,7 +349,6 @@ let NileCalendar = class NileCalendar extends NileElement {
345
349
  'day_date': true,
346
350
  'not-allowed': !this.isAllowedDate(day, month, year),
347
351
  'in-range': isInRange(day, month, year, isCurrentMonth),
348
- // 'current-date' : this.isCurrentDate(day, month, year) && isCurrentMonth,
349
352
  'filler': !isCurrentMonth,
350
353
  };
351
354
  if (datePlacement)
@@ -358,7 +361,7 @@ let NileCalendar = class NileCalendar extends NileElement {
358
361
  >
359
362
  <span style="position:relative;">
360
363
  ${day}
361
- ${this.isCurrentDate(day, month, year) && isCurrentMonth ? html `<div class="current__date__dot"></div>` : nothing}
364
+ ${isCurrentDate(day, month, year) && isCurrentMonth ? html `<div class="current__date__dot"></div>` : nothing}
362
365
  </span>
363
366
  </div>`;
364
367
  })}
@@ -366,21 +369,191 @@ let NileCalendar = class NileCalendar extends NileElement {
366
369
  </div>
367
370
  `;
368
371
  }
369
- formatDate(date) {
370
- if (!date)
371
- return '';
372
- const day = String(date.getDate()).padStart(2, '0');
373
- const month = String(date.getMonth() + 1).padStart(2, '0');
374
- const year = date.getFullYear();
375
- return `${day}/${month}/${year}`;
372
+ /**
373
+ * Function to validate if date is not in allowedDates range
374
+ * @param day
375
+ * @param month
376
+ * @param year
377
+ * @returns
378
+ */
379
+ isAllowedDate(day, month, year) {
380
+ if (!this.allowedDatesLocal) {
381
+ return true;
382
+ }
383
+ const dateToCheck = new Date(Date.UTC(year, month, day));
384
+ const startDate = this.getUTCDate(this.allowedDatesLocal.startDate);
385
+ const endDate = this.getUTCDate(this.allowedDatesLocal.endDate);
386
+ endDate.setUTCHours(23, 59, 59, 999);
387
+ const isWithinRange = dateToCheck >= startDate && dateToCheck <= endDate;
388
+ return isWithinRange;
376
389
  }
377
- formatDateRange(value) {
378
- if (!value) {
379
- return value;
390
+ /**
391
+ * @function handle_date-click/select
392
+ * @param day
393
+ * @param month
394
+ * @param year
395
+ */
396
+ selectDate(day, month, year) {
397
+ const selectedDate = new Date(year, month, day);
398
+ if (this.range) {
399
+ if (this.startDate && this.endDate) {
400
+ this.startDate = null;
401
+ this.endDate = null;
402
+ }
403
+ if (this.isSelectingStart) {
404
+ this.startDate = selectedDate;
405
+ if (this.endDate && selectedDate > this.endDate) {
406
+ this.endDate = null;
407
+ }
408
+ this.isSelectingStart = false;
409
+ }
410
+ else {
411
+ this.isSelectingStart = true;
412
+ if (this.startDate && selectedDate < this.startDate) {
413
+ this.startDate = selectedDate;
414
+ this.endDate = null;
415
+ this.isSelectingStart = false;
416
+ }
417
+ else {
418
+ const endDate = selectedDate;
419
+ endDate.setHours(23, 59, 59, 999);
420
+ this.endDate = endDate;
421
+ }
422
+ }
380
423
  }
381
- if (!value.startDate || !value.endDate)
382
- return '';
383
- return `${this.formatDate(value.startDate)} - ${this.formatDate(value.endDate)}`;
424
+ else {
425
+ this.value = selectedDate;
426
+ this.emitChangedData({ value: this.value });
427
+ if (this.dropdown) {
428
+ this.dropdown.hide();
429
+ }
430
+ }
431
+ }
432
+ /**
433
+ * Function to be called on initialization to set all other properties
434
+ */
435
+ initializeValue() {
436
+ if (this.range) {
437
+ try {
438
+ const rangeValue = JSON.parse(this.valueAttribute || '');
439
+ this.startDate = new Date(rangeValue.startDate);
440
+ this.endDate = new Date(rangeValue.endDate);
441
+ // Convert to local time
442
+ this.startDate = new Date(this.startDate.getTime());
443
+ this.endDate = new Date(this.endDate.getTime());
444
+ this.value = null;
445
+ }
446
+ catch (e) {
447
+ // console.error('Invalid range value');
448
+ }
449
+ }
450
+ else {
451
+ if (this.valueAttribute) {
452
+ let date = new Date(this.valueAttribute);
453
+ date = new Date(date.getTime() - date.getTimezoneOffset() * 60000);
454
+ if (!isNaN(date.getTime())) {
455
+ this.value = date;
456
+ this.currentMonth = this.value.getMonth();
457
+ this.currentYear = this.value.getFullYear();
458
+ }
459
+ }
460
+ }
461
+ }
462
+ /**
463
+ * Function to handle relative date selection
464
+ */
465
+ handleDurationChange(event) {
466
+ this.selectedValue = Number(event.detail.value);
467
+ if (this.selectedUnit && this.selectedValue) {
468
+ this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
469
+ }
470
+ }
471
+ handleUnitChange(event) {
472
+ this.selectedUnit = event.detail.value;
473
+ if (this.selectedUnit && this.selectedValue) {
474
+ this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
475
+ }
476
+ }
477
+ handleTimeValueClick(unit, value, event) {
478
+ // const timestamps = this.createRelativePeriod(unit, value);
479
+ this.selectedUnit = unit;
480
+ this.selectedValue = value;
481
+ }
482
+ createRelativePeriod(unit, value) {
483
+ const endTime = new Date();
484
+ const startTime = new Date();
485
+ switch (unit) {
486
+ case 'minutes':
487
+ startTime.setMinutes(startTime.getMinutes() - value);
488
+ break;
489
+ case 'hours':
490
+ startTime.setHours(startTime.getHours() - value);
491
+ break;
492
+ case 'days':
493
+ startTime.setDate(startTime.getDate() - value);
494
+ break;
495
+ case 'weeks':
496
+ startTime.setDate(startTime.getDate() - 7 * value); // Subtract weeks as days
497
+ break;
498
+ case 'months':
499
+ startTime.setMonth(startTime.getMonth() - value);
500
+ break;
501
+ }
502
+ this.startDate = new Date(startTime.getTime());
503
+ this.endDate = new Date(endTime.getTime());
504
+ return {
505
+ startDate: this.startDate,
506
+ endDate: this.endDate,
507
+ };
508
+ }
509
+ /**
510
+ * Function to handle start time selecion
511
+ */
512
+ handleStartTimeInput(event) {
513
+ if (!this.startDate) {
514
+ this.startDate = null;
515
+ return;
516
+ }
517
+ const time = this.parseTime(event.detail.value, this.startDate);
518
+ if (time) {
519
+ this.startDate = time;
520
+ }
521
+ else {
522
+ this.startDate.setHours(0, 0, 0);
523
+ }
524
+ this.requestUpdate();
525
+ }
526
+ /**
527
+ * Function to handle end time selecion
528
+ */
529
+ handleEndTimeInput(event) {
530
+ if (!this.endDate) {
531
+ this.endDate = null;
532
+ return;
533
+ }
534
+ const time = this.parseTime(event.detail.value, this.endDate);
535
+ if (time) {
536
+ this.endDate = time;
537
+ }
538
+ else {
539
+ this.endDate.setHours(0, 0, 0);
540
+ }
541
+ this.requestUpdate();
542
+ }
543
+ // Parse time string to a Date object
544
+ parseTime(input, date) {
545
+ if (!this.isValidTimeInput(input)) {
546
+ return null;
547
+ }
548
+ const [hour, minute, second] = input.split(':').map(Number);
549
+ const newDate = new Date(date.getTime());
550
+ newDate.setHours(hour, minute, second);
551
+ return newDate;
552
+ }
553
+ // Validate time in HH:MM:SS format
554
+ isValidTimeInput(input) {
555
+ const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
556
+ return regex.test(input);
384
557
  }
385
558
  handleStartDateInput(event) {
386
559
  const date = this.parseDate(event.detail.value);
@@ -394,7 +567,6 @@ let NileCalendar = class NileCalendar extends NileElement {
394
567
  this.startDate = null;
395
568
  this.endDate = null;
396
569
  }
397
- this.requestUpdate();
398
570
  }
399
571
  handleEndDateInput(event) {
400
572
  const date = this.parseDate(event.detail.value);
@@ -407,16 +579,31 @@ let NileCalendar = class NileCalendar extends NileElement {
407
579
  else {
408
580
  this.endDate = null;
409
581
  }
410
- this.requestUpdate();
582
+ }
583
+ isValidDateInput(input) {
584
+ const regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
585
+ return regex.test(input);
411
586
  }
412
587
  parseDate(dateString) {
413
588
  const [day, month, year] = dateString.split('/').map(Number);
414
589
  const date = new Date(year, month - 1, day);
415
590
  return !isNaN(date.getTime()) ? date : null;
416
591
  }
417
- isValidDateInput(input) {
418
- const regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
419
- return regex.test(input);
592
+ formatDateRange(value) {
593
+ if (!value) {
594
+ return value;
595
+ }
596
+ if (!value.startDate || !value.endDate)
597
+ return '';
598
+ return `${this.formatDate(value.startDate)} - ${this.formatDate(value.endDate)}`;
599
+ }
600
+ formatDate(date) {
601
+ if (!date)
602
+ return '';
603
+ const day = String(date.getDate()).padStart(2, '0');
604
+ const month = String(date.getMonth() + 1).padStart(2, '0');
605
+ const year = date.getFullYear();
606
+ return `${day}/${month}/${year}`;
420
607
  }
421
608
  formatTime(date) {
422
609
  if (!date)
@@ -424,288 +611,64 @@ let NileCalendar = class NileCalendar extends NileElement {
424
611
  const hours = String(date.getHours()).padStart(2, '0');
425
612
  const minutes = String(date.getMinutes()).padStart(2, '0');
426
613
  const seconds = String(date.getSeconds()).padStart(2, '0');
427
- return `${hours}:${minutes}:${seconds}`;
428
- }
429
- // Validate time in HH:MM:SS format
430
- isValidTimeInput(input) {
431
- const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
432
- return regex.test(input);
433
- }
434
- // Parse time string to a Date object
435
- parseTime(input, date) {
436
- if (!this.isValidTimeInput(input)) {
437
- return null;
438
- }
439
- const [hour, minute, second] = input.split(':').map(Number);
440
- const newDate = new Date(date.getTime());
441
- newDate.setHours(hour, minute, second);
442
- return newDate;
443
- }
444
- handleStartTimeInput(event) {
445
- if (!this.startDate) {
446
- this.startDate = null;
447
- return;
448
- }
449
- const time = this.parseTime(event.detail.value, this.startDate);
450
- if (time) {
451
- this.startDate = time;
452
- }
453
- else {
454
- this.startDate.setHours(0, 0, 0);
455
- }
456
- this.requestUpdate();
457
- }
458
- handleEndTimeInput(event) {
459
- if (!this.endDate) {
460
- this.endDate = null;
461
- return;
462
- }
463
- const time = this.parseTime(event.detail.value, this.endDate);
464
- if (time) {
465
- this.endDate = time;
614
+ return `${hours}:${minutes}:${seconds}`;
615
+ }
616
+ nextMonth() {
617
+ if (this.currentMonth === 11) {
618
+ this.currentMonth = 0;
619
+ this.currentYear++;
466
620
  }
467
621
  else {
468
- this.endDate.setHours(0, 0, 0);
622
+ this.currentMonth++;
469
623
  }
470
- this.requestUpdate();
471
- }
472
- setType(newType) {
473
- this.type = newType;
474
624
  }
475
- createRelativePeriod(unit, value) {
476
- const endTime = new Date();
477
- const startTime = new Date();
478
- switch (unit) {
479
- case 'minutes':
480
- startTime.setMinutes(startTime.getMinutes() - value);
481
- break;
482
- case 'hours':
483
- startTime.setHours(startTime.getHours() - value);
484
- break;
485
- case 'days':
486
- startTime.setDate(startTime.getDate() - value);
487
- break;
488
- case 'weeks':
489
- startTime.setDate(startTime.getDate() - 7 * value); // Subtract weeks as days
490
- break;
491
- case 'months':
492
- startTime.setMonth(startTime.getMonth() - value);
493
- break;
625
+ prevMonth() {
626
+ if (this.currentMonth === 0) {
627
+ this.currentMonth = 11;
628
+ this.currentYear--;
494
629
  }
495
- this.startDate = new Date(startTime.getTime());
496
- this.endDate = new Date(endTime.getTime());
497
- this.requestUpdate();
498
- return {
499
- startDate: this.startDate,
500
- endDate: this.endDate,
501
- };
502
- }
503
- handleTimeValueClick(unit, value, event) {
504
- const timestamps = this.createRelativePeriod(unit, value);
505
- this.selectedUnit = unit;
506
- this.selectedValue = value;
507
- this.requestUpdate();
508
- }
509
- renderTimeValues(unit, values) {
510
- return values.map(value => html `
511
- <div
512
- class="duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected' : ''}"
513
- @click=${(e) => this.handleTimeValueClick(unit, value, e)}
514
- >
515
- ${value}
516
- </div>
517
- `);
518
- }
519
- handleDurationChange(event) {
520
- this.selectedValue = Number(event.detail.value);
521
- if (this.selectedUnit && this.selectedValue) {
522
- this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
630
+ else {
631
+ this.currentMonth--;
523
632
  }
524
633
  }
525
- handleUnitChange(event) {
526
- this.selectedUnit = event.detail.value;
527
- if (this.selectedUnit && this.selectedValue) {
528
- this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);
634
+ confimRange() {
635
+ if (this.startDate && this.endDate) {
636
+ this.emitChangedData({
637
+ startDate: this.startDate,
638
+ endDate: this.endDate,
639
+ });
640
+ if (this.dropdown) {
641
+ this.dropdown.hide();
642
+ }
529
643
  }
530
644
  }
531
- handleTimeZoneChange(event) {
532
- this.selectedTimeZone = event.detail.value;
533
- this.requestUpdate();
645
+ convertTZ(date, tzString) {
646
+ return new Date((typeof date === 'string' ? new Date(date) : date).toLocaleString('en-US', { timeZone: tzString }));
534
647
  }
535
648
  onTypeChange(event) {
536
649
  this.type = event.detail.value;
537
650
  }
538
- /**
539
- * Render method
540
- */
541
- render() {
542
- return html `
543
- <div
544
- class=${classMap({
545
- base: true,
546
- base__range: this.range,
547
- })}
548
- >
549
- <div class="calendar-config ${!this.range ? 'hidden' : ''}">
550
- <div class="calendar-switcher">
551
- <nile-tab-group centered @nile-tab-show="${this.onTypeChange}">
552
- <nile-tab slot="nav" panel="absolute">Absolute</nile-tab>
553
- <nile-tab slot="nav" panel="relative">Relative</nile-tab>
554
- </nile-tab-group>
555
- </div>
556
- </div>
557
-
558
- ${this.type == 'relative' ? this.renderRelativeCalendar() : ''}
559
- ${this.type == 'absolute' ? this.renderAbsoluteCalendar() : ''}
560
-
561
- ${!this.range ? '' : html `
562
- <div class="button-container">
563
- <nile-button
564
- class="apply-button"
565
- ?disabled="${!this.startDate || !this.endDate}"
566
- @click="${this.confimRange}"
567
- > Apply</nile-button>
568
- </div>
569
- `}
570
- </div>
571
- `;
651
+ getUTCDate(dateStr) {
652
+ return new Date(Date.UTC(dateStr.slice(0, 4), dateStr.slice(5, 7) - 1, dateStr.slice(8, 10)));
572
653
  }
573
- /**
574
- * @returns HTML content for absolute calendar
575
- */
576
- renderAbsoluteCalendar() {
577
- return html `
578
- <div class="calendar-wrapper">
579
- <div class="calendar-container">
580
- ${this.renderMonth(this.currentYear, this.currentMonth, this.getDaysArray(this.currentYear, this.currentMonth))}
581
- </div>
582
- </div>
583
- ${this.range ? html `
584
- <div class="calender-input ${this.showManualInputs ? '' : 'hidden'}" >
585
- <div class="from">
586
- <nile-input
587
- label="From"
588
- class="manual-input"
589
- value="${this.formatTime(this.startDate)}"
590
- placeholder="HH:MM:SS" @nile-change="${this.handleStartTimeInput}"
591
- > </nile-input>
592
- </div>
593
-
594
- <div class="from">
595
- <nile-input
596
- label="To"
597
- class="manual-input"
598
- value="${this.formatTime(this.endDate)}"
599
- placeholder="HH:MM:SS" @nile-change="${this.handleEndTimeInput}"
600
- > </nile-input>
601
- </div>
602
- </div>
603
- ` : ''}
604
- `;
654
+ emitChangedData(data) {
655
+ this.emit('nile-changed', data);
656
+ this.emit('nile-change', data);
605
657
  }
606
- /**
607
- * @returns HTML content for relative calendar
608
- */
609
- renderRelativeCalendar() {
610
- return html `
611
- <div class="units-wrapper">
612
- <div class="unit-container">
613
- ${this.hideDurationFields?.includes('minutes') ? '' : html `
614
- <div class="duration-name">Minutes</div>
615
- <div class="duration-units">
616
- ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}
617
- </div>
618
- `}
619
-
620
- ${this.hideDurationFields?.includes('hours') ? '' : html `
621
- <div class="duration-name">Hours</div>
622
- <div class="duration-units">
623
- ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}
624
- </div>
625
- `}
626
-
627
- ${this.hideDurationFields?.includes('days') ? '' : html `
628
- <div class="duration-name">Days</div>
629
- <div class="duration-units">
630
- ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}
631
- </div>
632
- `}
633
-
634
- ${this.hideDurationFields?.includes('weeks') ? '' : html `
635
- <div class="duration-name">Weeks</div>
636
- <div class="duration-units">
637
- ${this.renderTimeValues('weeks', [1, 2, 4, 6])}
638
- </div>
639
- `}
640
-
641
- ${this.hideDurationFields?.includes('months') ? '' : html `
642
- <div class="duration-name">Months</div>
643
- <div class="duration-units">
644
- ${this.renderTimeValues('months', [3, 6, 12, 15])}
645
- </div>
646
- `}
647
- </div>
648
- </div>
649
-
650
- ${this.range ? html `
651
- <div>
652
- <div class="unit-input-container">
653
- <nile-input
654
- class="manual-input duration-input"
655
- label="Duration"
656
- value="${this.selectedValue}"
657
- @nile-input="${this.handleDurationChange}"
658
- placeholder="Enter Value"
659
- ></nile-input>
660
-
661
- <nile-select class="manual-input time-input"
662
- label="Unit of time"
663
- style="margin-top:3px"
664
- value="${this.selectedUnit}"
665
- @nile-change="${this.handleUnitChange}"
666
- >
667
- <nile-option value="minutes" class="${this.hideDurationFields?.includes('minutes') ? 'hidden' : ''}">Minutes</nile-option>
668
- <nile-option value="hours" class="${this.hideDurationFields?.includes('hours') ? 'hidden' : ''}"> Hours </nile-option>
669
- <nile-option value="days" class="${this.hideDurationFields?.includes('days') ? 'hidden' : ''}">Days</nile-option>
670
- <nile-option value="weeks" class="${this.hideDurationFields?.includes('weeks') ? 'hidden' : ''}">Weeks</nile-option>
671
- <nile-option value="months" class="${this.hideDurationFields?.includes('months') ? 'hidden' : ''}"> Months </nile-option>
672
- </nile-select>
673
- </div>
674
- </div>
675
- ` : ''}
676
- `;
658
+ getDaysArray(year, month) {
659
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
660
+ return Array.from({ length: daysInMonth }, (_, i) => i + 1);
677
661
  }
678
662
  };
679
663
  __decorate([
680
664
  query('nile-dropdown')
681
665
  ], NileCalendar.prototype, "dropdown", void 0);
682
- __decorate([
683
- property({ type: Boolean, reflect: true })
684
- ], NileCalendar.prototype, "dropDownOpened", void 0);
685
- __decorate([
686
- property({ type: Object })
687
- ], NileCalendar.prototype, "value", void 0);
688
- __decorate([
689
- property({ type: Object, attribute: 'allowed-dates' })
690
- ], NileCalendar.prototype, "allowedDates", void 0);
691
- __decorate([
692
- property({ type: Object })
693
- ], NileCalendar.prototype, "rangeValue", void 0);
694
666
  __decorate([
695
667
  property({ type: String, attribute: 'value' })
696
668
  ], NileCalendar.prototype, "valueAttribute", void 0);
697
669
  __decorate([
698
- property({ type: String, attribute: 'value' })
699
- ], NileCalendar.prototype, "formattedDate", void 0);
700
- __decorate([
701
- property({ type: Object })
702
- ], NileCalendar.prototype, "startDate", void 0);
703
- __decorate([
704
- property({ type: Object })
705
- ], NileCalendar.prototype, "endDate", void 0);
706
- __decorate([
707
- property({ type: Boolean })
708
- ], NileCalendar.prototype, "isSelectingStart", void 0);
670
+ property({ type: String, attribute: true, reflect: true })
671
+ ], NileCalendar.prototype, "allowedDates", void 0);
709
672
  __decorate([
710
673
  property({ type: Boolean })
711
674
  ], NileCalendar.prototype, "range", void 0);
@@ -719,26 +682,38 @@ __decorate([
719
682
  property({ type: Number })
720
683
  ], NileCalendar.prototype, "selectedValue", void 0);
721
684
  __decorate([
722
- property({ type: String })
723
- ], NileCalendar.prototype, "selectedTimeZone", void 0);
685
+ property({ type: Array, attribute: 'hide-duration-fields' })
686
+ ], NileCalendar.prototype, "hideDurationFields", void 0);
687
+ __decorate([
688
+ property({ type: Boolean })
689
+ ], NileCalendar.prototype, "showManualInputs", void 0);
724
690
  __decorate([
725
691
  state()
726
- ], NileCalendar.prototype, "validAllowedDates", void 0);
692
+ ], NileCalendar.prototype, "startDate", void 0);
727
693
  __decorate([
728
- watch('allowedDates')
729
- ], NileCalendar.prototype, "checkValidAllowedDate", null);
694
+ state()
695
+ ], NileCalendar.prototype, "endDate", void 0);
696
+ __decorate([
697
+ state()
698
+ ], NileCalendar.prototype, "isSelectingStart", void 0);
730
699
  __decorate([
731
700
  state()
732
701
  ], NileCalendar.prototype, "hideInput", void 0);
733
702
  __decorate([
734
- property({ type: Array, attribute: 'hide-duration-fields' })
735
- ], NileCalendar.prototype, "hideDurationFields", void 0);
703
+ state()
704
+ ], NileCalendar.prototype, "value", void 0);
736
705
  __decorate([
737
- property({ type: Boolean, attribute: 'hide-time-zone' })
738
- ], NileCalendar.prototype, "hideTimeZone", void 0);
706
+ state()
707
+ ], NileCalendar.prototype, "currentMonth", void 0);
739
708
  __decorate([
740
- property({ type: Boolean, attribute: 'show-manual-inputs', reflect: true })
741
- ], NileCalendar.prototype, "showManualInputs", void 0);
709
+ state()
710
+ ], NileCalendar.prototype, "currentYear", void 0);
711
+ __decorate([
712
+ state()
713
+ ], NileCalendar.prototype, "allowedDatesLocal", void 0);
714
+ __decorate([
715
+ watch('allowedDates')
716
+ ], NileCalendar.prototype, "checkValidAllowedDate", null);
742
717
  __decorate([
743
718
  watch('value')
744
719
  ], NileCalendar.prototype, "valueChanged", null);