@aquera/nile-elements 1.3.1-beta-1.0 → 1.3.1-beta-1

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 (535) hide show
  1. package/README.md +6 -0
  2. package/demo/index.css +1 -4
  3. package/demo/index.html +15 -38
  4. package/demo/nxtgen.css +6 -0
  5. package/demo/variables.css +6 -2
  6. package/dist/{fixture-d1470b58.cjs.js → fixture-54600b35.cjs.js} +2 -2
  7. package/dist/{fixture-d1470b58.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
  8. package/dist/{fixture-1c49c014.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  9. package/dist/{fixture-dff65c89.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  10. package/dist/{fixture-dff65c89.cjs.js → fixture-73855806.cjs.js} +2 -2
  11. package/dist/{fixture-1c49c014.cjs.js.map → fixture-73855806.cjs.js.map} +1 -1
  12. package/dist/fixture-90b199c4.esm.js +569 -0
  13. package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
  14. package/dist/fixture-c1d78368.cjs.js +395 -0
  15. package/dist/fixture-c1d78368.cjs.js.map +1 -0
  16. package/dist/fixture-cf7bfcf5.esm.js +569 -0
  17. package/dist/fixture-dbd66009.cjs.js +395 -0
  18. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  19. package/dist/index.cjs.js +1 -1
  20. package/dist/index.esm.js +1 -1
  21. package/dist/index.js +981 -628
  22. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  23. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  24. package/dist/nile-auto-complete/index.cjs.js +1 -1
  25. package/dist/nile-auto-complete/index.esm.js +1 -1
  26. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  27. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  28. package/dist/nile-auto-complete/nile-auto-complete.esm.js +2 -2
  29. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  30. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  31. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  32. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  33. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  34. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  35. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  36. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  37. package/dist/nile-button/nile-button.test.esm.js +1 -1
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  40. package/dist/nile-calendar/index.cjs.js +1 -1
  41. package/dist/nile-calendar/index.esm.js +1 -1
  42. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  43. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  44. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  45. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  46. package/dist/nile-calendar/nile-calendar.css.esm.js +387 -110
  47. package/dist/nile-calendar/nile-calendar.enum.cjs.js +2 -0
  48. package/dist/nile-calendar/nile-calendar.enum.cjs.js.map +1 -0
  49. package/dist/nile-calendar/nile-calendar.enum.esm.js +1 -0
  50. package/dist/nile-calendar/nile-calendar.esm.js +216 -108
  51. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  52. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  53. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  54. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  55. package/dist/nile-card/nile-card.test.esm.js +1 -1
  56. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  57. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  58. package/dist/nile-chip/index.cjs.js +1 -1
  59. package/dist/nile-chip/index.esm.js +1 -1
  60. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  61. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  62. package/dist/nile-chip/nile-chip.esm.js +2 -2
  63. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  64. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  65. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  66. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
  67. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
  68. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
  69. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  70. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  71. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  72. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  73. package/dist/nile-dropdown/index.cjs.js +1 -1
  74. package/dist/nile-dropdown/index.esm.js +1 -1
  75. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  76. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  77. package/dist/nile-dropdown/nile-dropdown.esm.js +2 -2
  78. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  79. package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +1 -1
  80. package/dist/nile-dropdown/nile-dropdown.test.esm.js +6 -6
  81. package/dist/nile-dropdown/portal-manager.cjs.js +1 -1
  82. package/dist/nile-dropdown/portal-manager.cjs.js.map +1 -1
  83. package/dist/nile-dropdown/portal-manager.esm.js +1 -1
  84. package/dist/nile-dropdown/portal-utils.cjs.js +1 -1
  85. package/dist/nile-dropdown/portal-utils.cjs.js.map +1 -1
  86. package/dist/nile-dropdown/portal-utils.esm.js +1 -1
  87. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  88. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  89. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  90. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  91. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  92. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  93. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  94. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  95. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  96. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  97. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  98. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  99. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  100. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  101. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  102. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  103. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  104. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  105. package/dist/nile-inline-edit/index.cjs.js +1 -1
  106. package/dist/nile-inline-edit/index.esm.js +1 -1
  107. package/dist/nile-inline-edit/nile-inline-edit-utils.cjs.js +2 -0
  108. package/dist/nile-inline-edit/nile-inline-edit-utils.cjs.js.map +1 -0
  109. package/dist/nile-inline-edit/nile-inline-edit-utils.esm.js +1 -0
  110. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  111. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  112. package/dist/nile-inline-edit/nile-inline-edit.esm.js +4 -4
  113. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  114. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  115. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  116. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  117. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +2 -10
  118. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +6 -10
  119. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  120. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  121. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
  122. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
  123. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +2 -8
  124. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +2 -2
  125. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  126. package/dist/nile-input/nile-input.test.esm.js +1 -1
  127. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  128. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  129. package/dist/nile-link/nile-link.css.esm.js +3 -3
  130. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  131. package/dist/nile-link/nile-link.test.esm.js +1 -1
  132. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  133. package/dist/nile-lite-tooltip/index.esm.js +1 -1
  134. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  135. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
  136. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
  137. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  138. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  139. package/dist/nile-popover/index.cjs.js +1 -1
  140. package/dist/nile-popover/index.esm.js +1 -1
  141. package/dist/nile-popover/nile-popover.cjs.js +3 -3
  142. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  143. package/dist/nile-popover/nile-popover.esm.js +4 -4
  144. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  145. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  146. package/dist/nile-popover/nile-popover.test.esm.js +4 -4
  147. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  148. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  149. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  150. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  151. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  152. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  153. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  154. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  155. package/dist/nile-select/index.cjs.js +1 -1
  156. package/dist/nile-select/index.esm.js +1 -1
  157. package/dist/nile-select/nile-select.cjs.js +1 -1
  158. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  159. package/dist/nile-select/nile-select.esm.js +2 -2
  160. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  161. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  162. package/dist/nile-select/nile-select.test.esm.js +1 -1
  163. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  164. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  165. package/dist/nile-select/virtual-scroll-helper.esm.js +0 -2
  166. package/dist/nile-side-bar/nile-side-bar.cjs.js +1 -1
  167. package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
  168. package/dist/nile-side-bar/nile-side-bar.css.cjs.js +1 -1
  169. package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -1
  170. package/dist/nile-side-bar/nile-side-bar.css.esm.js +29 -24
  171. package/dist/nile-side-bar/nile-side-bar.esm.js +1 -7
  172. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
  173. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
  174. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +1 -1
  175. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -1
  176. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +5 -3
  177. package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +8 -8
  178. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
  179. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
  180. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +3 -5
  181. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
  182. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
  183. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
  184. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
  185. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +5 -17
  186. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +3 -3
  187. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +1 -1
  188. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -1
  189. package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +7 -4
  190. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +1 -1
  191. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -1
  192. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +56 -58
  193. package/dist/nile-sidebar/index.cjs.js +2 -0
  194. package/dist/nile-sidebar/index.cjs.js.map +1 -0
  195. package/dist/nile-sidebar/index.esm.js +75 -0
  196. package/dist/nile-sidebar-menu/index.cjs.js +2 -0
  197. package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
  198. package/dist/nile-sidebar-menu/index.esm.js +1 -0
  199. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
  200. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
  201. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
  202. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
  203. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
  204. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
  205. package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
  206. package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
  207. package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
  208. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
  209. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
  210. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
  211. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
  212. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
  213. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
  214. package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
  215. package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
  216. package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
  217. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
  218. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
  219. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
  220. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
  221. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
  222. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
  223. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  224. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  225. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  226. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  227. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  228. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  229. package/dist/nile-tooltip/index.cjs.js +1 -1
  230. package/dist/nile-tooltip/index.esm.js +1 -1
  231. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  232. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  233. package/dist/nile-tooltip/nile-tooltip.esm.js +2 -2
  234. package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
  235. package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
  236. package/dist/nile-virtual-select/group-manager.esm.js +1 -0
  237. package/dist/nile-virtual-select/index.cjs.js +1 -1
  238. package/dist/nile-virtual-select/index.esm.js +1 -1
  239. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  240. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  241. package/dist/nile-virtual-select/nile-virtual-select.esm.js +13 -13
  242. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  243. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  244. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  245. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  246. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  247. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  248. package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
  249. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
  250. package/dist/src/internal/portal-manager.d.ts +53 -0
  251. package/dist/src/internal/portal-manager.js +196 -0
  252. package/dist/src/internal/portal-manager.js.map +1 -0
  253. package/dist/src/internal/portal.d.ts +60 -0
  254. package/dist/src/internal/portal.js +199 -0
  255. package/dist/src/internal/portal.js.map +1 -0
  256. package/dist/src/internal/resizable-helper.d.ts +59 -0
  257. package/dist/src/internal/resizable-helper.js +115 -0
  258. package/dist/src/internal/resizable-helper.js.map +1 -0
  259. package/dist/src/internal/resizable-styles.d.ts +16 -0
  260. package/dist/src/internal/resizable-styles.js +144 -0
  261. package/dist/src/internal/resizable-styles.js.map +1 -0
  262. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  263. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  264. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  265. package/dist/src/lib/index.d.ts +7 -0
  266. package/dist/src/lib/index.js +8 -0
  267. package/dist/src/lib/index.js.map +1 -0
  268. package/dist/src/lib/virtualize.d.ts +32 -0
  269. package/dist/src/lib/virtualize.js +105 -0
  270. package/dist/src/lib/virtualize.js.map +1 -0
  271. package/dist/src/lib/virtualize.test.d.ts +7 -0
  272. package/dist/src/lib/virtualize.test.js +57 -0
  273. package/dist/src/lib/virtualize.test.js.map +1 -0
  274. package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +4 -0
  275. package/dist/src/nile-auto-complete/nile-auto-complete.js +39 -0
  276. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  277. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  278. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  279. package/dist/src/nile-calendar/nile-calendar.css.js +385 -108
  280. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  281. package/dist/src/nile-calendar/nile-calendar.d.ts +17 -1
  282. package/dist/src/nile-calendar/nile-calendar.js +345 -108
  283. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  284. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  285. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  286. package/dist/src/nile-chip/nile-chip.d.ts +4 -0
  287. package/dist/src/nile-chip/nile-chip.js +46 -0
  288. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  289. package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
  290. package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
  291. package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
  292. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  293. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
  294. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
  295. package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
  296. package/dist/src/nile-code-editor/theme copy.js +193 -0
  297. package/dist/src/nile-code-editor/theme copy.js.map +1 -0
  298. package/dist/src/nile-dropdown/nile-dropdown.d.ts +4 -1
  299. package/dist/src/nile-dropdown/nile-dropdown.js +37 -1
  300. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  301. package/dist/src/nile-dropdown/portal-manager.js +2 -0
  302. package/dist/src/nile-dropdown/portal-manager.js.map +1 -1
  303. package/dist/src/nile-dropdown/portal-utils.d.ts +1 -0
  304. package/dist/src/nile-dropdown/portal-utils.js +24 -0
  305. package/dist/src/nile-dropdown/portal-utils.js.map +1 -1
  306. package/dist/src/nile-floating-panel/anchor-manager.d.ts +26 -0
  307. package/dist/src/nile-floating-panel/anchor-manager.js +49 -0
  308. package/dist/src/nile-floating-panel/anchor-manager.js.map +1 -0
  309. package/dist/src/nile-floating-panel/content-manager.d.ts +23 -0
  310. package/dist/src/nile-floating-panel/content-manager.js +67 -0
  311. package/dist/src/nile-floating-panel/content-manager.js.map +1 -0
  312. package/dist/src/nile-floating-panel/event-manager.d.ts +38 -0
  313. package/dist/src/nile-floating-panel/event-manager.js +81 -0
  314. package/dist/src/nile-floating-panel/event-manager.js.map +1 -0
  315. package/dist/src/nile-floating-panel/index.d.ts +1 -0
  316. package/dist/src/nile-floating-panel/index.js +2 -0
  317. package/dist/src/nile-floating-panel/index.js.map +1 -0
  318. package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +17 -0
  319. package/dist/src/nile-floating-panel/nile-floating-panel.css.js +51 -0
  320. package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -0
  321. package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +67 -0
  322. package/dist/src/nile-floating-panel/nile-floating-panel.js +203 -0
  323. package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -0
  324. package/dist/src/nile-floating-panel/position-manager.d.ts +47 -0
  325. package/dist/src/nile-floating-panel/position-manager.js +94 -0
  326. package/dist/src/nile-floating-panel/position-manager.js.map +1 -0
  327. package/dist/src/nile-floating-panel/style-manager.d.ts +31 -0
  328. package/dist/src/nile-floating-panel/style-manager.js +74 -0
  329. package/dist/src/nile-floating-panel/style-manager.js.map +1 -0
  330. package/dist/src/nile-floating-panel/types.d.ts +29 -0
  331. package/dist/src/nile-floating-panel/types.js +8 -0
  332. package/dist/src/nile-floating-panel/types.js.map +1 -0
  333. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  334. package/dist/src/nile-grid/data-processor.js +122 -0
  335. package/dist/src/nile-grid/data-processor.js.map +1 -0
  336. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  337. package/dist/src/nile-grid/event-handlers.js +158 -0
  338. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  339. package/dist/src/nile-grid/renderer.d.ts +8 -0
  340. package/dist/src/nile-grid/renderer.js +78 -0
  341. package/dist/src/nile-grid/renderer.js.map +1 -0
  342. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  343. package/dist/src/nile-grid/resize-handler.js +36 -0
  344. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  345. package/dist/src/nile-grid/types.d.ts +32 -0
  346. package/dist/src/nile-grid/types.js +2 -0
  347. package/dist/src/nile-grid/types.js.map +1 -0
  348. package/dist/src/nile-grid/utils.d.ts +4 -0
  349. package/dist/src/nile-grid/utils.js +32 -0
  350. package/dist/src/nile-grid/utils.js.map +1 -0
  351. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  352. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  353. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +10 -0
  354. package/dist/src/nile-inline-edit/nile-inline-edit.js +52 -1
  355. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
  356. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +2 -10
  357. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  358. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +3 -11
  359. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  360. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +0 -6
  361. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
  362. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +0 -1
  363. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +0 -4
  364. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  365. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  366. package/dist/src/nile-link/nile-link.css.js +3 -3
  367. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  368. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +5 -1
  369. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +43 -0
  370. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -1
  371. package/dist/src/nile-menu/portal-manager.d.ts +39 -0
  372. package/dist/src/nile-menu/portal-manager.js +340 -0
  373. package/dist/src/nile-menu/portal-manager.js.map +1 -0
  374. package/dist/src/nile-menu/portal-utils.d.ts +21 -0
  375. package/dist/src/nile-menu/portal-utils.js +128 -0
  376. package/dist/src/nile-menu/portal-utils.js.map +1 -0
  377. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  378. package/dist/src/nile-popover/nile-popover.d.ts +4 -0
  379. package/dist/src/nile-popover/nile-popover.js +39 -0
  380. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  381. package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
  382. package/dist/src/nile-popover/popover-portal-handler.js +106 -0
  383. package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
  384. package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
  385. package/dist/src/nile-portal-wrapper/index.js +2 -0
  386. package/dist/src/nile-portal-wrapper/index.js.map +1 -0
  387. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
  388. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
  389. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
  390. package/dist/src/nile-select/body-append-manager.d.ts +90 -0
  391. package/dist/src/nile-select/body-append-manager.js +298 -0
  392. package/dist/src/nile-select/body-append-manager.js.map +1 -0
  393. package/dist/src/nile-select/nile-select.d.ts +1 -5
  394. package/dist/src/nile-select/nile-select.js +28 -67
  395. package/dist/src/nile-select/nile-select.js.map +1 -1
  396. package/dist/src/nile-select/virtual-scroll-helper.js +0 -2
  397. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  398. package/dist/src/nile-side-bar/nile-side-bar.css.js +27 -22
  399. package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -1
  400. package/dist/src/nile-side-bar/nile-side-bar.js +1 -7
  401. package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -1
  402. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +5 -3
  403. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -1
  404. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +0 -2
  405. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +4 -12
  406. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -1
  407. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +1 -3
  408. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
  409. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +3 -15
  410. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
  411. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +0 -1
  412. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +1 -8
  413. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -1
  414. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +5 -2
  415. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -1
  416. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +46 -48
  417. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -1
  418. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  419. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  420. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  421. package/dist/src/nile-tooltip/nile-tooltip.d.ts +3 -0
  422. package/dist/src/nile-tooltip/nile-tooltip.js +36 -0
  423. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  424. package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
  425. package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
  426. package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
  427. package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
  428. package/dist/src/nile-virtual-select/group-manager.js +134 -0
  429. package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
  430. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +2 -5
  431. package/dist/src/nile-virtual-select/nile-virtual-select.js +28 -66
  432. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  433. package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
  434. package/dist/src/nile-virtual-select/portal-utils.js +376 -0
  435. package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
  436. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  437. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  438. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  439. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  440. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  441. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  442. package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
  443. package/dist/src/nile-virtual-select-disabled/index.js +2 -0
  444. package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
  445. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
  446. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
  447. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
  448. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
  449. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
  450. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
  451. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
  452. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
  453. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
  454. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
  455. package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
  456. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
  457. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
  458. package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
  459. package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
  460. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
  461. package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
  462. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
  463. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
  464. package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
  465. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
  466. package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
  467. package/dist/src/nile-virtual-select-disabled/types.js +8 -0
  468. package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
  469. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  470. package/dist/src/nile-virtual-table-body/index.js +3 -0
  471. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  472. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  473. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  474. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  475. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  476. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  477. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  478. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  479. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  480. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  481. package/dist/src/utilities/stepper-utils.d.ts +71 -0
  482. package/dist/src/utilities/stepper-utils.js +108 -0
  483. package/dist/src/utilities/stepper-utils.js.map +1 -0
  484. package/dist/src/version.js +2 -2
  485. package/dist/src/version.js.map +1 -1
  486. package/dist/tsconfig.tsbuildinfo +1 -1
  487. package/package.json +2 -2
  488. package/src/nile-auto-complete/nile-auto-complete.ts +41 -0
  489. package/src/nile-calendar/nile-calendar.css.ts +385 -108
  490. package/src/nile-calendar/nile-calendar.enum.ts +5 -0
  491. package/src/nile-calendar/nile-calendar.ts +374 -119
  492. package/src/nile-chip/nile-chip.ts +48 -0
  493. package/src/nile-dropdown/nile-dropdown.ts +39 -1
  494. package/src/nile-dropdown/portal-manager.ts +2 -0
  495. package/src/nile-dropdown/portal-utils.ts +26 -0
  496. package/src/nile-inline-edit/nile-inline-edit-utils.ts +94 -0
  497. package/src/nile-inline-edit/nile-inline-edit.ts +59 -1
  498. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +2 -10
  499. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +5 -17
  500. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +0 -6
  501. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +0 -1
  502. package/src/nile-link/nile-link.css.ts +3 -3
  503. package/src/nile-lite-tooltip/nile-lite-tooltip.ts +47 -1
  504. package/src/nile-popover/nile-popover.ts +43 -0
  505. package/src/nile-select/nile-select.ts +31 -87
  506. package/src/nile-select/virtual-scroll-helper.ts +0 -2
  507. package/src/nile-side-bar/nile-side-bar.css.ts +27 -22
  508. package/src/nile-side-bar/nile-side-bar.ts +1 -8
  509. package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +5 -3
  510. package/src/nile-side-bar-expand/nile-side-bar-expand.ts +4 -6
  511. package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +1 -3
  512. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +3 -15
  513. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +1 -9
  514. package/src/nile-side-bar-group/nile-side-bar-group.css.ts +5 -2
  515. package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +47 -49
  516. package/src/nile-tooltip/nile-tooltip.ts +37 -0
  517. package/src/nile-virtual-select/nile-virtual-select.ts +31 -87
  518. package/src/utilities/visibility-manager.ts +104 -0
  519. package/vscode-html-custom-data.json +124 -50
  520. package/dist/assets/nile-elements-4b5c262d.css +0 -1
  521. package/dist/nile-light-tooltip/index.esm.js +0 -1
  522. package/dist/nile-light-tooltip/nile-light-tooltip.css.esm.js +0 -6
  523. package/dist/nile-light-tooltip/nile-light-tooltip.esm.js +0 -1
  524. package/dist/src/nile-light-tooltip/index.d.ts +0 -1
  525. package/dist/src/nile-light-tooltip/index.js +0 -2
  526. package/dist/src/nile-light-tooltip/index.js.map +0 -1
  527. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.d.ts +0 -12
  528. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js +0 -18
  529. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js.map +0 -1
  530. package/dist/src/nile-light-tooltip/nile-light-tooltip.d.ts +0 -40
  531. package/dist/src/nile-light-tooltip/nile-light-tooltip.js +0 -101
  532. package/dist/src/nile-light-tooltip/nile-light-tooltip.js.map +0 -1
  533. package/dist/src/nile-menu/virtual-menu-search-manager.d.ts +0 -11
  534. package/dist/src/nile-menu/virtual-menu-search-manager.js +0 -43
  535. package/dist/src/nile-menu/virtual-menu-search-manager.js.map +0 -1
@@ -17,6 +17,7 @@ import { classMap } from 'lit/directives/class-map.js';
17
17
  import { query } from 'lit/decorators.js';
18
18
  import { watch } from '../internal/watch';
19
19
  import NileElement from '../internal/nile-element';
20
+ import { ClearMode } from './nile-calendar.enum';
20
21
  import type { PropertyValueMap } from 'lit';
21
22
  type NileCalendarDateRange={ startDate: string, endDate: string }
22
23
  type TimeUnits= 'minutes'|'hours'|'days'|'weeks'|'months';
@@ -60,6 +61,17 @@ export class NileCalendar extends NileElement {
60
61
 
61
62
  @property({ type: Boolean}) showManualInputs :boolean=false;
62
63
 
64
+ @property({ type: Number , attribute: true, reflect: true }) startYear: number;
65
+
66
+ @property({ type: Number , attribute: true, reflect: true }) endYear: number;
67
+
68
+ @property({ type: Boolean, attribute:true, reflect: true}) showMonthDropdown = false;
69
+
70
+ @property({ type: Boolean, attribute:true, reflect: true}) showYearDropdown = false;
71
+
72
+ @property({ type: String, reflect: true, attribute: true}) dateFormat: string = 'MM/DD/YYYY';
73
+
74
+
63
75
  @state() startDate: Date | null = null;
64
76
 
65
77
  @state() endDate: Date | null = null;
@@ -107,6 +119,34 @@ export class NileCalendar extends NileElement {
107
119
  }
108
120
  }
109
121
 
122
+ private get monthNames() {
123
+ return Array.from({ length: 12 }, (_, i) =>
124
+ new Date(0, i).toLocaleString('default', { month: 'long' })
125
+ );
126
+ }
127
+
128
+ private get yearOptions(): number[] {
129
+ const fallbackStart = 2000;
130
+ const fallbackEnd = 2050;
131
+
132
+ const start = this.startYear ?? fallbackStart;
133
+ const end = this.endYear ?? fallbackEnd;
134
+
135
+ if (start > end) return [];
136
+
137
+ return Array.from({ length: end - start + 1 }, (_, i) => start + i);
138
+ }
139
+
140
+ private onMonthSelected(monthIndex: number) {
141
+ this.currentMonth = monthIndex;
142
+ this.emit('nile-month-change', { month: monthIndex });
143
+ }
144
+
145
+ private onYearSelected(year: number) {
146
+ this.currentYear = year;
147
+ this.emit('nile-year-change', { year });
148
+ }
149
+
110
150
  @watch('allowedDates')
111
151
  checkValidAllowedDate() {
112
152
  let newDateRange: NileCalendarDateRange | null;
@@ -131,6 +171,84 @@ export class NileCalendar extends NileElement {
131
171
  this.allowedDatesLocal=newDateRange;
132
172
  }
133
173
  }
174
+
175
+ private isPrevDisabled(): boolean {
176
+ return (
177
+ this.currentMonth === 0 &&
178
+ this.startYear !== undefined &&
179
+ this.currentYear <= this.startYear
180
+ );
181
+ }
182
+
183
+ private isNextDisabled(): boolean {
184
+ return (
185
+ this.currentMonth === 11 &&
186
+ this.endYear !== undefined &&
187
+ this.currentYear >= this.endYear
188
+ );
189
+ }
190
+
191
+ private formatDate(date: Date | null): string {
192
+ if (!date) return '';
193
+
194
+ const yyyy = date.getFullYear();
195
+ const mm = String(date.getMonth() + 1).padStart(2, '0');
196
+ const dd = String(date.getDate()).padStart(2, '0');
197
+
198
+ let formatted = this.dateFormat;
199
+ formatted = formatted.replace(/YYYY/g, String(yyyy));
200
+ formatted = formatted.replace(/MM/g, mm);
201
+ formatted = formatted.replace(/DD/g, dd);
202
+ formatted = formatted.replace(/YY/g, String(yyyy).slice(-2));
203
+
204
+ return formatted;
205
+ }
206
+
207
+
208
+ private parseDate(input: string, existingDate?: Date | null): Date | null {
209
+ if (!input || !this.dateFormat) return null;
210
+ const formatPattern = this.dateFormat
211
+ .replace(/YYYY/, '(?<year>\\d{4})')
212
+ .replace(/YY/, '(?<year>\\d{2})')
213
+ .replace(/MM/, '(?<month>\\d{1,2})')
214
+ .replace(/DD/, '(?<day>\\d{1,2})');
215
+
216
+ const regex = new RegExp(`^${formatPattern}$`);
217
+ const match = input.match(regex);
218
+ if (!match || !match.groups) return null;
219
+
220
+ const year = match.groups.year.length === 2 ? Number(`20${match.groups.year}`) : Number(match.groups.year);
221
+ const month = Number(match.groups.month) - 1;
222
+ const day = Number(match.groups.day);
223
+
224
+ const date = new Date(existingDate || new Date());
225
+ date.setFullYear(year, month, day);
226
+ return isNaN(date.getTime()) ? null : date;
227
+ }
228
+
229
+
230
+ private handleStartDateInput(event: CustomEvent): void {
231
+ event.stopPropagation();
232
+ const newDate = this.parseDate(event.detail.value, this.startDate);
233
+ if (newDate) {
234
+ this.startDate = newDate;
235
+ this.currentMonth = newDate.getMonth();
236
+ this.currentYear = newDate.getFullYear();
237
+ this.requestUpdate();
238
+ }
239
+ }
240
+
241
+ private handleEndDateInput(event: CustomEvent): void {
242
+ event.stopPropagation();
243
+ const newDate = this.parseDate(event.detail.value, this.endDate);
244
+ if (newDate) {
245
+ this.endDate = newDate;
246
+ this.currentMonth = newDate.getMonth();
247
+ this.currentYear = newDate.getFullYear();
248
+ this.requestUpdate();
249
+ }
250
+ }
251
+
134
252
 
135
253
 
136
254
  /**
@@ -143,37 +261,42 @@ export class NileCalendar extends NileElement {
143
261
  base:true,
144
262
  base__range:this.range,
145
263
  })}
264
+ part="calendar-container"
146
265
  >
147
266
  <div class=${classMap({
148
267
  "calendar-config":true,
149
268
  "hidden": !this.range || (this.range && this.hideTypes)
150
269
  })}>
151
- <div class="calendar-switcher">
270
+ <div class="calendar-switcher" part="calendar-switcher">
152
271
  <nile-tab-group centered @nile-tab-show="${this.onTypeChange}" value="${this.type}">
153
- <nile-tab slot="nav" panel="absolute">Absolute</nile-tab>
154
- <nile-tab slot="nav" panel="relative">Relative</nile-tab>
272
+ <nile-tab slot="nav" panel="absolute" tabindex="0">Absolute</nile-tab>
273
+ <nile-tab slot="nav" panel="relative" tabindex="0">Relative</nile-tab>
155
274
  </nile-tab-group>
156
275
  </div>
157
276
  </div>
158
-
277
+
159
278
  ${this.type == 'relative' ? this.renderRelativeCalendar():''}
160
279
  ${this.type == 'absolute' ? this.renderAbsoluteCalendar():''}
161
280
 
162
281
  ${!this.range?'':html`
163
- <div class="button-container">
282
+ <div class="button-container" part="button-container">
164
283
  ${this.allowClear?
165
284
  html`
166
285
  <nile-button
167
286
  class="clear-button"
168
287
  variant="secondary"
288
+ role="button"
169
289
  ?disabled="${ !this.startDate || !this.endDate }"
290
+ @keydown="${(e: KeyboardEvent) => {if (e.key === 'Enter' || e.key === ' ') this.clearDate();}}"
170
291
  @click="${this.clearDate}"
171
- > Clear</nile-button>`:nothing
292
+
293
+ > Reset</nile-button>`:nothing
172
294
  }
173
295
  <nile-button
174
296
  class="apply-button"
175
297
  ?disabled="${ !this.startDate || !this.endDate }"
176
298
  @click="${this.confimRange}"
299
+ @keydown="${(e: KeyboardEvent) => {if (e.key === 'Enter' || e.key === ' ') this.confimRange();}}"
177
300
  > Apply</nile-button>
178
301
  </div>
179
302
  `}
@@ -186,8 +309,8 @@ export class NileCalendar extends NileElement {
186
309
  */
187
310
  renderAbsoluteCalendar(){
188
311
  return html`
189
- <div class="calendar-wrapper">
190
- <div class="calendar-container">
312
+ <div class="calendar-wrapper" part="calendar-wrapper">
313
+ <div class="calendar-container" >
191
314
  ${this.renderMonth(
192
315
  this.currentYear,
193
316
  this.currentMonth,
@@ -197,23 +320,47 @@ export class NileCalendar extends NileElement {
197
320
  </div>
198
321
  ${this.range ? html`
199
322
  <div class="calender-input ${this.showManualInputs ? '' : 'hidden'}" >
200
- <div class="from">
201
- <nile-input
202
- label="From"
203
- class="manual-input"
204
- value="${this.formatTime(this.startDate)}"
205
- placeholder="HH:MM:SS" @nile-change="${this.handleStartTimeInput}"
206
- > </nile-input>
207
- </div>
208
-
209
- <div class="from">
210
- <nile-input
211
- label="To"
212
- class="manual-input"
213
- value="${this.formatTime(this.endDate)}"
214
- placeholder="HH:MM:SS" @nile-change="${this.handleEndTimeInput}"
215
- > </nile-input>
216
- </div>
323
+ <div class="from">
324
+ <div class="from-date">
325
+ <nile-input
326
+ label="From"
327
+ class="manual-input date-input"
328
+ placeholder="${this.dateFormat}"
329
+ value="${this.formatDate(this.startDate)}"
330
+ @nile-change="${this.handleStartDateInput}"
331
+ ></nile-input>
332
+ </div>
333
+
334
+ <div class="from-time">
335
+ <nile-input
336
+ class="manual-input time-input"
337
+ placeholder="HH:MM:SS"
338
+ value="${this.formatTime(this.startDate)}"
339
+ @nile-change="${this.handleStartTimeInput}"
340
+ ></nile-input>
341
+ </div>
342
+ </div>
343
+
344
+
345
+ <div class="from">
346
+ <div class="from-date">
347
+ <nile-input
348
+ label="To"
349
+ class="manual-input date-input"
350
+ placeholder="${this.dateFormat}"
351
+ value="${this.formatDate(this.endDate)}"
352
+ @nile-change="${this.handleEndDateInput}"
353
+ ></nile-input>
354
+ </div>
355
+ <div class="from-time">
356
+ <nile-input
357
+ class="manual-input time-input"
358
+ placeholder="HH:MM:SS"
359
+ value="${this.formatTime(this.endDate)}"
360
+ @nile-change="${this.handleEndTimeInput}"
361
+ ></nile-input>
362
+ </div>
363
+ </div>
217
364
  </div>
218
365
  `:''}
219
366
  `
@@ -222,77 +369,90 @@ export class NileCalendar extends NileElement {
222
369
  /**
223
370
  * @returns HTML content for relative calendar
224
371
  */
225
- renderRelativeCalendar(){
372
+ renderRelativeCalendar() {
226
373
  return html`
227
- <div class="units-wrapper">
228
- <div class="unit-container">
229
- ${this.hideDurationFields?.includes('minutes')?'':html`
230
- <div class="duration-name">Minutes</div>
231
- <div class="duration-units">
232
- ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}
233
- </div>
234
- `}
235
-
236
- ${this.hideDurationFields?.includes('hours')?'':html`
237
- <div class="duration-name">Hours</div>
238
- <div class="duration-units">
239
- ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}
240
- </div>
241
- `}
242
-
243
- ${this.hideDurationFields?.includes('days')?'':html`
244
- <div class="duration-name">Days</div>
245
- <div class="duration-units">
246
- ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}
247
- </div>
248
- `}
249
-
250
- ${this.hideDurationFields?.includes('weeks')?'':html`
251
- <div class="duration-name">Weeks</div>
252
- <div class="duration-units">
253
- ${this.renderTimeValues('weeks', [1, 2, 4, 6])}
254
- </div>
255
- `}
256
-
257
- ${this.hideDurationFields?.includes('months')?'':html`
258
- <div class="duration-name">Months</div>
259
- <div class="duration-units">
260
- ${this.renderTimeValues('months', [3, 6, 12, 15])}
374
+ <div class="units-wrapper">
375
+ <div class="unit-container">
376
+
377
+ ${this.hideDurationFields?.includes('minutes') ? '' : html`
378
+ <div class="unit-group">
379
+ <div class="duration-name">Minutes</div>
380
+ <div class="duration-units">
381
+ ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}
382
+ </div>
383
+ </div>
384
+ `}
385
+
386
+ ${this.hideDurationFields?.includes('hours') ? '' : html`
387
+ <div class="unit-group">
388
+ <div class="duration-name">Hours</div>
389
+ <div class="duration-units">
390
+ ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}
391
+ </div>
392
+ </div>
393
+ `}
394
+
395
+ ${this.hideDurationFields?.includes('days') ? '' : html`
396
+ <div class="unit-group">
397
+ <div class="duration-name">Days</div>
398
+ <div class="duration-units">
399
+ ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}
400
+ </div>
401
+ </div>
402
+ `}
403
+
404
+ ${this.hideDurationFields?.includes('weeks') ? '' : html`
405
+ <div class="unit-group">
406
+ <div class="duration-name">Weeks</div>
407
+ <div class="duration-units">
408
+ ${this.renderTimeValues('weeks', [1, 2, 4, 6])}
409
+ </div>
410
+ </div>
411
+ `}
412
+
413
+ ${this.hideDurationFields?.includes('months') ? '' : html`
414
+ <div class="unit-group">
415
+ <div class="duration-name">Months</div>
416
+ <div class="duration-units">
417
+ ${this.renderTimeValues('months', [3, 6, 12, 15])}
418
+ </div>
419
+ </div>
420
+ `}
261
421
  </div>
262
- `}
263
422
  </div>
264
- </div>
265
-
266
- ${this.range ? html`
267
- <div>
268
- <div class="unit-input-container">
269
- <nile-input
270
- class="manual-input duration-input"
271
- label="Duration"
272
- inputmode="numeric"
273
- type="number"
274
- value="${this.selectedValue}"
275
- @nile-change="${this.handleDurationChange}"
276
- placeholder="Enter Value"
277
- ></nile-input>
278
-
279
- <nile-select class="manual-input time-input"
280
- label="Unit of time"
281
- value="${ this.selectedUnit }"
282
- @nile-change="${this.handleUnitChange}"
283
- >
284
- <nile-option value="minutes" class="${this.hideDurationFields?.includes('minutes')?'hidden':''}">Minutes</nile-option>
285
- <nile-option value="hours" class="${this.hideDurationFields?.includes('hours')?'hidden':''}"> Hours </nile-option>
286
- <nile-option value="days" class="${this.hideDurationFields?.includes('days')?'hidden':''}">Days</nile-option>
287
- <nile-option value="weeks" class="${this.hideDurationFields?.includes('weeks')?'hidden':''}">Weeks</nile-option>
288
- <nile-option value="months" class="${this.hideDurationFields?.includes('months')?'hidden':''}"> Months </nile-option>
289
- </nile-select>
423
+
424
+ ${this.range ? html`
425
+ <div>
426
+ <div class="unit-input-container">
427
+ <nile-input
428
+ class="manual-input duration-input"
429
+ label="Duration"
430
+ inputmode="numeric"
431
+ type="number"
432
+ value="${this.selectedValue}"
433
+ @nile-change="${this.handleDurationChange}"
434
+ placeholder="Enter Value"
435
+ ></nile-input>
436
+
437
+ <nile-select
438
+ class="manual-input time-input"
439
+ label="Unit of time"
440
+ value="${this.selectedUnit}"
441
+ @nile-change="${this.handleUnitChange}"
442
+ >
443
+ <nile-option value="minutes" class="${this.hideDurationFields?.includes('minutes') ? 'hidden' : ''}">Minutes</nile-option>
444
+ <nile-option value="hours" class="${this.hideDurationFields?.includes('hours') ? 'hidden' : ''}">Hours</nile-option>
445
+ <nile-option value="days" class="${this.hideDurationFields?.includes('days') ? 'hidden' : ''}">Days</nile-option>
446
+ <nile-option value="weeks" class="${this.hideDurationFields?.includes('weeks') ? 'hidden' : ''}">Weeks</nile-option>
447
+ <nile-option value="months" class="${this.hideDurationFields?.includes('months') ? 'hidden' : ''}">Months</nile-option>
448
+ </nile-select>
449
+ </div>
290
450
  </div>
291
- </div>
292
- `:''}
293
- `
451
+ ` : ''}
452
+ `;
294
453
  }
295
454
 
455
+
296
456
  /**
297
457
  *
298
458
  * @param unit
@@ -306,6 +466,7 @@ export class NileCalendar extends NileElement {
306
466
  <div
307
467
  class="duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected':''}"
308
468
  @click=${(e: any) => this.handleTimeValueClick(unit, value, e)}
469
+ @keydown="${(e: KeyboardEvent) => {if (e.key === 'Enter' || e.key === ' ') this.handleTimeValueClick(unit, value, e);}}"
309
470
  >${value}
310
471
  </div>`
311
472
  );
@@ -391,7 +552,7 @@ export class NileCalendar extends NileElement {
391
552
  year === today.getFullYear()
392
553
  );
393
554
  };
394
-
555
+ const dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
395
556
  return html`
396
557
  <div class="calendar">
397
558
  <div class="calendar-header">
@@ -400,33 +561,98 @@ export class NileCalendar extends NileElement {
400
561
  name="var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))"
401
562
  method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))"
402
563
  color="black"
564
+ role="button"
565
+ tabindex="${this.isPrevDisabled() ? '-1' : '0'}"
566
+ @keydown="${(e: KeyboardEvent) => {if (e.key === 'Enter' || e.key === ' ') this.prevMonth();}}"
403
567
  @click="${this.prevMonth}"
404
568
  >
405
569
  </nile-icon>
406
- <span
407
- >${new Date(year, month).toLocaleString('default', {
408
- month: 'long',
409
- })}
410
- ${year}</span
411
- >
570
+ <div class="calendar-header__center">
571
+
572
+ ${this.showMonthDropdown || this.showYearDropdown ? html`
573
+ ${this.showMonthDropdown ? html`
574
+ <nile-dropdown class="month-dropdown">
575
+ <span
576
+ slot="trigger"
577
+ class="calendar-header__trigger month-trigger"
578
+ role="button"
579
+ >
580
+ ${new Date(year, month).toLocaleString('default', { month: 'long' })}
581
+ <nile-icon name="arrowdropdown" color="black" class="calendar-header__caret"></nile-icon>
582
+ </span>
583
+ <nile-menu>
584
+ <div class="month-scroll-wrapper">
585
+ ${this.monthNames.map((m, idx) => html`
586
+ <nile-menu-item
587
+ class="month-menu-item"
588
+ ?selected="${idx === month}"
589
+ @click="${() => this.onMonthSelected(idx)}"
590
+ >
591
+ ${m}
592
+ </nile-menu-item>
593
+ `)}
594
+ </div>
595
+ </nile-menu>
596
+ </nile-dropdown>
597
+ ` : html`
598
+ <span
599
+ >${new Date(year, month).toLocaleString('default', { month: 'long' })}</span
600
+ >
601
+ `}
602
+ ${this.showYearDropdown ? html`
603
+ <nile-dropdown class="year-dropdown">
604
+ <span
605
+ slot="trigger"
606
+ class="calendar-header__trigger"
607
+ role="button"
608
+ >
609
+ ${year}
610
+ <nile-icon name="arrowdropdown" color="black" class="calendar-header__caret"></nile-icon>
611
+ </span>
612
+ <nile-menu>
613
+ <div class="year-scroll-wrapper">
614
+ ${this.yearOptions.map(
615
+ y => html`
616
+ <nile-menu-item
617
+ class="year-menu-item"
618
+ ?selected="${y === year}"
619
+ @click="${() => this.onYearSelected(y)}"
620
+ >
621
+ ${y}
622
+ </nile-menu-item>
623
+ `
624
+ )}
625
+ </div>
626
+ </nile-menu>
627
+ </nile-dropdown>
628
+ ` : html`
629
+ <span>${year}</span>
630
+ `}
631
+ ` : html`
632
+ <span
633
+ >${new Date(year, month).toLocaleString('default', {
634
+ month: 'long',
635
+ })}
636
+ ${year}</span
637
+ >
638
+ `}
639
+ </div>
640
+
412
641
  <nile-icon
413
642
  class="calendar-header__month-navigation"
414
643
  name="var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))"
415
644
  method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))"
416
645
  color="black"
646
+ role="button"
647
+ tabindex="${this.isNextDisabled() ? '-1' : '0'}"
648
+ @keydown="${(e: KeyboardEvent) => {if (e.key === 'Enter' || e.key === ' ') this.nextMonth();}}"
417
649
  @click="${this.nextMonth}"
418
650
  >
419
651
  </nile-icon>
420
652
  </div>
653
+
421
654
  <div class="days_container">
422
- <div class="day_name">Su</div>
423
- <div class="day_name">Mo</div>
424
- <div class="day_name">Tu</div>
425
- <div class="day_name">We</div>
426
- <div class="day_name">Th</div>
427
- <div class="day_name">Fr</div>
428
- <div class="day_name">Sa</div>
429
-
655
+ ${dayNames.map(day => html`<div class="day_name">${day}</div>`)}
430
656
  ${allDays.map((day, index) => {
431
657
  const isCurrentMonth =
432
658
  index >= fillerDaysBefore.length &&
@@ -442,12 +668,15 @@ export class NileCalendar extends NileElement {
442
668
 
443
669
  return html`
444
670
  <div
671
+ part="calendar-day-${day}"
445
672
  class=${classMap(classMapObj)}
673
+ tabindex="${isCurrentMonth && this.isAllowedDate(day, month, year) ? '0' : '-1'}"
674
+ @keydown="${(e: KeyboardEvent) => {if (e.key === 'Enter' || e.key === ' ') this.selectDate(day, month, year);}}"
446
675
  @click="${() => { if (isCurrentMonth) this.selectDate(day, month, year)}}"
447
676
  >
448
677
  <span style="position:relative;">
449
678
  ${day}
450
- ${isCurrentDate(day, month, year) && isCurrentMonth?html`<div class="current__date__dot"></div>`:nothing}
679
+ ${isCurrentDate(day, month, year) && isCurrentMonth?html`<div class="current__date__dot" part="current-date-dot"></div>`:nothing}
451
680
  </span>
452
681
  </div>`;
453
682
  })}
@@ -475,17 +704,30 @@ export class NileCalendar extends NileElement {
475
704
  return isWithinRange;
476
705
  }
477
706
 
478
- clearDate(){
479
- if(this.range){
480
- this.valueAttribute='';
481
- this.startDate=null;
482
- this.endDate=null;
483
- }
484
- else{
485
- this.value=null;
707
+ clearDate(mode?: ClearMode) {
708
+ const clearType =
709
+ mode ??
710
+ (this.range
711
+ ? this.type === 'relative'
712
+ ? ClearMode.Relative
713
+ : ClearMode.Range
714
+ : ClearMode.Single);
715
+
716
+ if (clearType === ClearMode.Single) {
717
+ this.value = null;
718
+ } else {
719
+ this.valueAttribute = '';
720
+ this.startDate = null;
721
+ this.endDate = null;
722
+ this.selectedUnit = undefined!;
723
+ this.selectedValue = undefined!;
486
724
  }
487
- this.emit('nile-clear')
488
- }
725
+
726
+ this.requestUpdate();
727
+ this.emit('nile-clear');
728
+ }
729
+
730
+
489
731
 
490
732
  /**
491
733
  * @function handle_date-click/select
@@ -509,6 +751,15 @@ export class NileCalendar extends NileElement {
509
751
  }
510
752
  this.isSelectingStart = false;
511
753
  } else {
754
+ if (
755
+ this.startDate &&
756
+ selectedDate.getFullYear() === this.startDate.getFullYear() &&
757
+ selectedDate.getMonth() === this.startDate.getMonth() &&
758
+ selectedDate.getDate() === this.startDate.getDate()
759
+ ) {
760
+ return;
761
+ }
762
+
512
763
  this.isSelectingStart = true;
513
764
 
514
765
  if (this.startDate && selectedDate < this.startDate) {
@@ -688,8 +939,10 @@ export class NileCalendar extends NileElement {
688
939
 
689
940
  private nextMonth(): void {
690
941
  if (this.currentMonth === 11) {
942
+ const newYear = this.currentYear + 1;
943
+ if(this.endYear !== undefined && newYear > this.endYear) return;
691
944
  this.currentMonth = 0;
692
- this.currentYear++;
945
+ this.currentYear = newYear;
693
946
  } else {
694
947
  this.currentMonth++;
695
948
  }
@@ -697,8 +950,10 @@ export class NileCalendar extends NileElement {
697
950
 
698
951
  private prevMonth(): void {
699
952
  if (this.currentMonth === 0) {
953
+ const newYear = this.currentYear - 1;
954
+ if(this.startYear !== undefined && newYear < this.startYear) return;
700
955
  this.currentMonth = 11;
701
- this.currentYear--;
956
+ this.currentYear = newYear;
702
957
  } else {
703
958
  this.currentMonth--;
704
959
  }
@@ -727,7 +982,7 @@ export class NileCalendar extends NileElement {
727
982
  }
728
983
 
729
984
  emitChangedData(data:{startDate:Date,endDate:Date}|{value:any}|null){
730
- this.emit('nile-changed',data);
985
+ this.emit('nile-changed',data); // deprecated. Use nile-change instead
731
986
  this.emit('nile-change',data)
732
987
  }
733
988