@aquera/nile-elements 0.0.119 → 0.0.121

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 (365) hide show
  1. package/README.md +11 -0
  2. package/dist/nile-accordion/nile-accordion.cjs.js +1 -1
  3. package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -1
  4. package/dist/nile-accordion/nile-accordion.esm.js +1 -1
  5. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  6. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  7. package/dist/nile-auto-complete/nile-auto-complete.esm.js +15 -6
  8. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  9. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  10. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  11. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  12. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  13. package/dist/nile-badge/nile-badge.esm.js +1 -1
  14. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
  15. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
  16. package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
  17. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
  18. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
  19. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +2 -2
  20. package/dist/nile-button/nile-button.cjs.js +1 -1
  21. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  22. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  23. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  24. package/dist/nile-button/nile-button.css.esm.js +24 -28
  25. package/dist/nile-button/nile-button.esm.js +1 -1
  26. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  27. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
  28. package/dist/nile-button-toggle/nile-button-toggle.esm.js +1 -1
  29. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  30. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
  31. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
  32. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  33. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  34. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  35. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  36. package/dist/nile-calendar/nile-calendar.css.esm.js +4 -1
  37. package/dist/nile-calendar/nile-calendar.esm.js +10 -3
  38. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  39. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  40. package/dist/nile-calendar/nile-calendar.test.esm.js +5 -5
  41. package/dist/nile-card/nile-card.cjs.js +1 -1
  42. package/dist/nile-card/nile-card.cjs.js.map +1 -1
  43. package/dist/nile-card/nile-card.esm.js +1 -1
  44. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  45. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  46. package/dist/nile-checkbox/nile-checkbox.esm.js +1 -1
  47. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  48. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  49. package/dist/nile-chip/nile-chip.esm.js +6 -2
  50. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  51. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  52. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  53. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  54. package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
  55. package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
  56. package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
  57. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  58. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  59. package/dist/nile-date-picker/nile-date-picker.esm.js +17 -6
  60. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  61. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  62. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  63. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  64. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  65. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  66. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  67. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  68. package/dist/nile-empty-state/nile-empty-state.esm.js +1 -1
  69. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  70. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  71. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  72. package/dist/nile-input/nile-input.cjs.js +1 -1
  73. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  74. package/dist/nile-input/nile-input.esm.js +1 -1
  75. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  76. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  77. package/dist/nile-input/nile-input.test.esm.js +1 -1
  78. package/dist/nile-link/nile-link.cjs.js +1 -1
  79. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  80. package/dist/nile-link/nile-link.esm.js +1 -1
  81. package/dist/nile-list/nile-list.cjs.js +1 -1
  82. package/dist/nile-list/nile-list.cjs.js.map +1 -1
  83. package/dist/nile-list/nile-list.esm.js +1 -1
  84. package/dist/nile-list-item/nile-list-item.cjs.js +1 -1
  85. package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -1
  86. package/dist/nile-list-item/nile-list-item.esm.js +1 -1
  87. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  88. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  89. package/dist/nile-menu/nile-menu.esm.js +5 -2
  90. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  91. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  92. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  93. package/dist/nile-option/nile-option.cjs.js +1 -1
  94. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  95. package/dist/nile-option/nile-option.esm.js +1 -1
  96. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  97. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  98. package/dist/nile-popover/nile-popover.esm.js +2 -2
  99. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  100. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  101. package/dist/nile-popup/nile-popup.esm.js +1 -1
  102. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  103. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  104. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  105. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +2 -0
  106. package/dist/nile-radio-group/nile-radio-group.test.cjs.js.map +1 -0
  107. package/dist/nile-radio-group/nile-radio-group.test.esm.js +57 -0
  108. package/dist/nile-select/nile-select.cjs.js +1 -1
  109. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  110. package/dist/nile-select/nile-select.esm.js +6 -4
  111. package/dist/nile-select/nile-select.test.cjs.js +2 -0
  112. package/dist/nile-select/nile-select.test.cjs.js.map +1 -0
  113. package/dist/nile-select/nile-select.test.esm.js +55 -0
  114. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  115. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  116. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +3 -3
  117. package/dist/nile-split-panel/nile-split-panel.cjs.js +1 -1
  118. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -1
  119. package/dist/nile-split-panel/nile-split-panel.esm.js +1 -1
  120. package/dist/nile-split-panel/nile-split-panel.test.cjs.js +2 -0
  121. package/dist/nile-split-panel/nile-split-panel.test.cjs.js.map +1 -0
  122. package/dist/nile-split-panel/nile-split-panel.test.esm.js +1 -0
  123. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  124. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  125. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  126. package/dist/nile-stepper/nile-stepper.test.cjs.js +1 -1
  127. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +1 -1
  128. package/dist/nile-stepper/nile-stepper.test.esm.js +1 -1
  129. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  130. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  131. package/dist/nile-tab/nile-tab.esm.js +1 -1
  132. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  133. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  134. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  135. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  136. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  137. package/dist/nile-table-body/nile-table-body.esm.js +1 -1
  138. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  139. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  140. package/dist/nile-tag/nile-tag.esm.js +1 -1
  141. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  142. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  143. package/dist/nile-textarea/nile-textarea.esm.js +1 -1
  144. package/dist/nile-textarea/nile-textarea.test.cjs.js.map +1 -1
  145. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  146. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  147. package/dist/nile-toast/nile-toast.esm.js +1 -1
  148. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  149. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  150. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  151. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  152. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  153. package/dist/nile-tree/nile-tree.esm.js +1 -1
  154. package/dist/nile-tree/nile-tree.test.cjs.js +2 -0
  155. package/dist/nile-tree/nile-tree.test.cjs.js.map +1 -0
  156. package/dist/nile-tree/nile-tree.test.esm.js +1 -0
  157. package/dist/src/nile-accordion/nile-accordion.d.ts +1 -0
  158. package/dist/src/nile-accordion/nile-accordion.js +1 -0
  159. package/dist/src/nile-accordion/nile-accordion.js.map +1 -1
  160. package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +1 -0
  161. package/dist/src/nile-auto-complete/nile-auto-complete.js +12 -2
  162. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  163. package/dist/src/nile-avatar/nile-avatar.d.ts +1 -0
  164. package/dist/src/nile-avatar/nile-avatar.js +1 -0
  165. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  166. package/dist/src/nile-badge/nile-badge.d.ts +1 -0
  167. package/dist/src/nile-badge/nile-badge.js +1 -0
  168. package/dist/src/nile-badge/nile-badge.js.map +1 -1
  169. package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +1 -0
  170. package/dist/src/nile-breadcrumb/nile-breadcrumb.js +5 -0
  171. package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
  172. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +1 -0
  173. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +1 -0
  174. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
  175. package/dist/src/nile-button/nile-button.css.js +24 -28
  176. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  177. package/dist/src/nile-button/nile-button.d.ts +1 -0
  178. package/dist/src/nile-button/nile-button.js +1 -0
  179. package/dist/src/nile-button/nile-button.js.map +1 -1
  180. package/dist/src/nile-button-toggle/nile-button-toggle.d.ts +1 -0
  181. package/dist/src/nile-button-toggle/nile-button-toggle.js +1 -0
  182. package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
  183. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +1 -0
  184. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +1 -0
  185. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
  186. package/dist/src/nile-calendar/nile-calendar.css.js +4 -1
  187. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  188. package/dist/src/nile-calendar/nile-calendar.d.ts +5 -3
  189. package/dist/src/nile-calendar/nile-calendar.js +43 -23
  190. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  191. package/dist/src/nile-calendar/nile-calendar.test.d.ts +6 -0
  192. package/dist/src/nile-calendar/nile-calendar.test.js +6 -0
  193. package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
  194. package/dist/src/nile-card/nile-card.d.ts +1 -0
  195. package/dist/src/nile-card/nile-card.js +1 -0
  196. package/dist/src/nile-card/nile-card.js.map +1 -1
  197. package/dist/src/nile-checkbox/nile-checkbox.d.ts +1 -0
  198. package/dist/src/nile-checkbox/nile-checkbox.js +1 -0
  199. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  200. package/dist/src/nile-chip/nile-chip.d.ts +1 -0
  201. package/dist/src/nile-chip/nile-chip.js +5 -0
  202. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  203. package/dist/src/nile-chip/nile-chip.test.js.map +1 -1
  204. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -0
  205. package/dist/src/nile-code-editor/nile-code-editor.js +1 -0
  206. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  207. package/dist/src/nile-content-editor/nile-content-editor.d.ts +1 -0
  208. package/dist/src/nile-content-editor/nile-content-editor.js +1 -0
  209. package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -1
  210. package/dist/src/nile-date-picker/nile-date-picker.d.ts +3 -0
  211. package/dist/src/nile-date-picker/nile-date-picker.js +24 -5
  212. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  213. package/dist/src/nile-dialog/nile-dialog.d.ts +1 -0
  214. package/dist/src/nile-dialog/nile-dialog.js +1 -0
  215. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  216. package/dist/src/nile-drawer/nile-drawer.d.ts +1 -0
  217. package/dist/src/nile-drawer/nile-drawer.js +1 -0
  218. package/dist/src/nile-drawer/nile-drawer.js.map +1 -1
  219. package/dist/src/nile-empty-state/nile-empty-state.d.ts +1 -0
  220. package/dist/src/nile-empty-state/nile-empty-state.js +1 -0
  221. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  222. package/dist/src/nile-icon-button/nile-icon-button.d.ts +1 -0
  223. package/dist/src/nile-icon-button/nile-icon-button.js +1 -0
  224. package/dist/src/nile-icon-button/nile-icon-button.js.map +1 -1
  225. package/dist/src/nile-input/nile-input.d.ts +1 -0
  226. package/dist/src/nile-input/nile-input.js +1 -0
  227. package/dist/src/nile-input/nile-input.js.map +1 -1
  228. package/dist/src/nile-input/nile-input.test.js +5 -1
  229. package/dist/src/nile-input/nile-input.test.js.map +1 -1
  230. package/dist/src/nile-link/nile-link.d.ts +1 -0
  231. package/dist/src/nile-link/nile-link.js +1 -0
  232. package/dist/src/nile-link/nile-link.js.map +1 -1
  233. package/dist/src/nile-list/nile-list.d.ts +1 -0
  234. package/dist/src/nile-list/nile-list.js +5 -0
  235. package/dist/src/nile-list/nile-list.js.map +1 -1
  236. package/dist/src/nile-list-item/nile-list-item.d.ts +1 -0
  237. package/dist/src/nile-list-item/nile-list-item.js +1 -0
  238. package/dist/src/nile-list-item/nile-list-item.js.map +1 -1
  239. package/dist/src/nile-menu/nile-menu.d.ts +1 -0
  240. package/dist/src/nile-menu/nile-menu.js +4 -0
  241. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  242. package/dist/src/nile-menu-item/nile-menu-item.d.ts +2 -0
  243. package/dist/src/nile-menu-item/nile-menu-item.js +2 -0
  244. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  245. package/dist/src/nile-option/nile-option.d.ts +2 -0
  246. package/dist/src/nile-option/nile-option.js +2 -0
  247. package/dist/src/nile-option/nile-option.js.map +1 -1
  248. package/dist/src/nile-popover/nile-popover.d.ts +2 -0
  249. package/dist/src/nile-popover/nile-popover.js +6 -1
  250. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  251. package/dist/src/nile-popup/nile-popup.d.ts +2 -0
  252. package/dist/src/nile-popup/nile-popup.js +2 -0
  253. package/dist/src/nile-popup/nile-popup.js.map +1 -1
  254. package/dist/src/nile-radio-group/nile-radio-group.d.ts +1 -0
  255. package/dist/src/nile-radio-group/nile-radio-group.js +1 -0
  256. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  257. package/dist/src/nile-radio-group/nile-radio-group.test.d.ts +2 -0
  258. package/dist/src/nile-radio-group/nile-radio-group.test.js +174 -0
  259. package/dist/src/nile-radio-group/nile-radio-group.test.js.map +1 -0
  260. package/dist/src/nile-select/nile-select.d.ts +1 -0
  261. package/dist/src/nile-select/nile-select.js +6 -37
  262. package/dist/src/nile-select/nile-select.js.map +1 -1
  263. package/dist/src/nile-select/nile-select.test.d.ts +6 -0
  264. package/dist/src/nile-select/nile-select.test.js +247 -0
  265. package/dist/src/nile-select/nile-select.test.js.map +1 -0
  266. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +1 -0
  267. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +3 -2
  268. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  269. package/dist/src/nile-split-panel/nile-split-panel.d.ts +1 -0
  270. package/dist/src/nile-split-panel/nile-split-panel.js +1 -0
  271. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -1
  272. package/dist/src/nile-split-panel/nile-split-panel.test.d.ts +1 -0
  273. package/dist/src/nile-split-panel/nile-split-panel.test.js +4 -0
  274. package/dist/src/nile-split-panel/nile-split-panel.test.js.map +1 -0
  275. package/dist/src/nile-stepper/nile-stepper.d.ts +1 -0
  276. package/dist/src/nile-stepper/nile-stepper.js +1 -0
  277. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  278. package/dist/src/nile-stepper/nile-stepper.test.d.ts +4 -0
  279. package/dist/src/nile-stepper/nile-stepper.test.js +6 -164
  280. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -1
  281. package/dist/src/nile-tab/nile-tab.d.ts +1 -0
  282. package/dist/src/nile-tab/nile-tab.js +1 -0
  283. package/dist/src/nile-tab/nile-tab.js.map +1 -1
  284. package/dist/src/nile-tab-group/nile-tab-group.d.ts +1 -0
  285. package/dist/src/nile-tab-group/nile-tab-group.js +1 -0
  286. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  287. package/dist/src/nile-table-body/nile-table-body.d.ts +1 -0
  288. package/dist/src/nile-table-body/nile-table-body.js +1 -0
  289. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  290. package/dist/src/nile-tag/nile-tag.d.ts +1 -0
  291. package/dist/src/nile-tag/nile-tag.js +1 -0
  292. package/dist/src/nile-tag/nile-tag.js.map +1 -1
  293. package/dist/src/nile-textarea/nile-textarea.d.ts +1 -0
  294. package/dist/src/nile-textarea/nile-textarea.js +1 -0
  295. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  296. package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -1
  297. package/dist/src/nile-toast/nile-toast.d.ts +1 -0
  298. package/dist/src/nile-toast/nile-toast.js +1 -0
  299. package/dist/src/nile-toast/nile-toast.js.map +1 -1
  300. package/dist/src/nile-tooltip/nile-tooltip.d.ts +1 -0
  301. package/dist/src/nile-tooltip/nile-tooltip.js +1 -0
  302. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  303. package/dist/src/nile-tree/nile-tree.d.ts +1 -0
  304. package/dist/src/nile-tree/nile-tree.js +1 -0
  305. package/dist/src/nile-tree/nile-tree.js.map +1 -1
  306. package/dist/src/nile-tree/nile-tree.test.d.ts +2 -0
  307. package/dist/src/nile-tree/nile-tree.test.js +5 -0
  308. package/dist/src/nile-tree/nile-tree.test.js.map +1 -0
  309. package/dist/tsconfig.tsbuildinfo +1 -1
  310. package/package.json +1 -1
  311. package/rollup.config.js +1 -0
  312. package/src/nile-accordion/nile-accordion.ts +1 -0
  313. package/src/nile-auto-complete/nile-auto-complete.ts +13 -2
  314. package/src/nile-avatar/nile-avatar.ts +2 -0
  315. package/src/nile-badge/nile-badge.ts +2 -0
  316. package/src/nile-breadcrumb/nile-breadcrumb.ts +2 -0
  317. package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +2 -0
  318. package/src/nile-button/nile-button.css.ts +24 -28
  319. package/src/nile-button/nile-button.ts +2 -0
  320. package/src/nile-button-toggle/nile-button-toggle.ts +2 -0
  321. package/src/nile-button-toggle-group/nile-button-toggle-group.ts +2 -0
  322. package/src/nile-calendar/nile-calendar.css.ts +4 -1
  323. package/src/nile-calendar/nile-calendar.test.ts +7 -0
  324. package/src/nile-calendar/nile-calendar.ts +43 -26
  325. package/src/nile-card/nile-card.ts +2 -0
  326. package/src/nile-checkbox/nile-checkbox.ts +2 -0
  327. package/src/nile-chip/nile-chip.test.ts +0 -1
  328. package/src/nile-chip/nile-chip.ts +6 -0
  329. package/src/nile-code-editor/nile-code-editor.ts +2 -0
  330. package/src/nile-content-editor/nile-content-editor.ts +2 -0
  331. package/src/nile-date-picker/nile-date-picker.ts +21 -5
  332. package/src/nile-dialog/nile-dialog.ts +2 -0
  333. package/src/nile-drawer/nile-drawer.ts +2 -0
  334. package/src/nile-empty-state/nile-empty-state.ts +2 -0
  335. package/src/nile-icon-button/nile-icon-button.ts +2 -0
  336. package/src/nile-input/nile-input.test.ts +7 -1
  337. package/src/nile-input/nile-input.ts +2 -0
  338. package/src/nile-link/nile-link.ts +2 -0
  339. package/src/nile-list/nile-list.ts +2 -0
  340. package/src/nile-list-item/nile-list-item.ts +2 -0
  341. package/src/nile-menu/nile-menu.ts +6 -0
  342. package/src/nile-menu-item/nile-menu-item.ts +3 -0
  343. package/src/nile-option/nile-option.ts +3 -0
  344. package/src/nile-popover/nile-popover.ts +5 -1
  345. package/src/nile-popup/nile-popup.ts +3 -0
  346. package/src/nile-radio-group/nile-radio-group.test.ts +215 -0
  347. package/src/nile-radio-group/nile-radio-group.ts +2 -0
  348. package/src/nile-select/nile-select.test.ts +309 -0
  349. package/src/nile-select/nile-select.ts +7 -38
  350. package/src/nile-slide-toggle/nile-slide-toggle.ts +4 -2
  351. package/src/nile-split-panel/nile-split-panel.test.ts +7 -0
  352. package/src/nile-split-panel/nile-split-panel.ts +2 -0
  353. package/src/nile-stepper/nile-stepper.test.ts +12 -174
  354. package/src/nile-stepper/nile-stepper.ts +2 -0
  355. package/src/nile-tab/nile-tab.ts +2 -0
  356. package/src/nile-tab-group/nile-tab-group.ts +2 -0
  357. package/src/nile-table-body/nile-table-body.ts +2 -0
  358. package/src/nile-tag/nile-tag.ts +2 -0
  359. package/src/nile-textarea/nile-textarea.test.ts +1 -1
  360. package/src/nile-textarea/nile-textarea.ts +2 -0
  361. package/src/nile-toast/nile-toast.ts +2 -0
  362. package/src/nile-tooltip/nile-tooltip.ts +2 -0
  363. package/src/nile-tree/nile-tree.test.ts +9 -0
  364. package/src/nile-tree/nile-tree.ts +2 -0
  365. package/web-test-runner.config.mjs +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-calendar.js","sourceRoot":"","sources":["../../../src/nile-calendar/nile-calendar.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n html,\n property,\n CSSResultArray,\n TemplateResult,\n nothing\n} from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-calendar.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { PropertyValueMap } from 'lit';\ntype NileCalendarDateRange={ startDate: string, endDate: string }\ntype TimeUnits= 'minutes'|'hours'|'days'|'weeks'|'months';\n/**\n * Nile icon component.\n *\n * @tag nile-calendar\n *\n */\n@customElement('nile-calendar')\nexport class NileCalendar extends NileElement {\n /**\n * The styles for NileCalendar\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n\n\n @property({ type: String, attribute: 'value' }) valueAttribute: | string | null = null;\n\n @property({ type: String, attribute:true, reflect:true }) allowedDates: string = JSON.stringify({});\n\n @property({ type: Boolean, reflect: true }) range = false;\n\n @property({ type: Boolean, attribute: true, reflect:true }) hideTypes = false;\n\n @property({ type: String, reflect: true }) type :'absolute' | 'relative' = 'absolute';\n\n @property({ type: String }) selectedUnit: TimeUnits;\n\n @property({ type: Number }) selectedValue: number;\n\n @property({ type: Array, attribute: 'hide-duration-fields' }) hideDurationFields: String[] = [];\n \n @property({ type: Boolean}) showManualInputs :boolean=false;\n\n @state() startDate: Date | null = null;\n\n @state() endDate: Date | null = null;\n\n @state() isSelectingStart = true;\n\n @state() hideInput: Boolean = false;\n\n @state() value: Date | null;\n\n @state() currentMonth: number = new Date().getMonth();\n\n @state() currentYear: number = new Date().getFullYear();\n\n @state() allowedDatesLocal: NileCalendarDateRange | any = null;\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeValue();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('valueAttribute')) {\n const date = new Date(this.valueAttribute || '');\n if (!isNaN(date.getTime())) {\n const offset = date.getTimezoneOffset();\n this.value = new Date(date.getTime() - offset * 60 * 1000);\n this.currentMonth = this.value.getMonth();\n this.currentYear = this.value.getFullYear();\n }\n }\n }\n\n attributeChangedCallback(name: string, _old: string | null, newValue: string | null): void {\n if (name === 'value') {\n this.valueAttribute = newValue;\n this.initializeValue();\n } \n super.attributeChangedCallback(name, _old, newValue);\n }\n\n @watch('allowedDates')\n checkValidAllowedDate() {\n let newDateRange: NileCalendarDateRange | null;\n try {\n newDateRange=JSON.parse(this.allowedDates);\n } catch (error) {\n newDateRange=null;\n }\n if (!newDateRange || Object.keys(newDateRange).length == 0) {\n this.allowedDatesLocal=null;\n return;\n }\n this.hideInput=true;\n const startDate = this.getUTCDate(newDateRange.startDate)\n const endDate = this.getUTCDate(newDateRange.endDate)\n\n if (startDate > endDate) {\n console.error('StartDate must be greater than endDate');\n }\n else\n {\n this.allowedDatesLocal=newDateRange;\n }\n }\n \n @watch('value')\n valueChanged() {\n if (this.range && this.value) {\n this.value = null;\n return;\n }\n\n if (this.value && !isNaN(this.value.getTime())) {\n const offset = this.value.getTimezoneOffset();\n const localDate = new Date(this.value.getTime() - offset * 60 * 1000);\n if (!isNaN(localDate.getTime())) {\n this.valueAttribute = localDate.toISOString().split('T')[0];\n }\n }\n }\n\n /**\n * Render method\n */\n render(): TemplateResult {\n return html`\n <div\n class=${classMap({\n base:true,\n base__range:this.range,\n })}\n >\n <div class=${classMap({\n \"calendar-config\":true,\n \"hidden\": !this.range || (this.range && this.hideTypes)\n })}>\n <div class=\"calendar-switcher\">\n <nile-tab-group centered @nile-tab-show=\"${this.onTypeChange}\" value=\"${this.type}\">\n <nile-tab slot=\"nav\" panel=\"absolute\">Absolute</nile-tab>\n <nile-tab slot=\"nav\" panel=\"relative\">Relative</nile-tab>\n </nile-tab-group>\n </div>\n </div>\n\n ${this.type == 'relative' ? this.renderRelativeCalendar():''}\n ${this.type == 'absolute' ? this.renderAbsoluteCalendar():''}\n\n ${!this.range?'':html`\n <div class=\"button-container\">\n <nile-button \n class=\"apply-button\" \n ?disabled=\"${ !this.startDate || !this.endDate }\" \n @click=\"${this.confimRange}\"\n > Apply</nile-button>\n </div>\n `}\n </div>\n `;\n }\n\n /**\n * @returns HTML content for absolute calendar\n */\n renderAbsoluteCalendar(){\n return html`\n <div class=\"calendar-wrapper\">\n <div class=\"calendar-container\">\n ${this.renderMonth(\n this.currentYear,\n this.currentMonth,\n this.getDaysArray(this.currentYear, this.currentMonth)\n )}\n </div>\n </div>\n ${this.range ? html`\n <div class=\"calender-input ${this.showManualInputs ? '' : 'hidden'}\" >\n <div class=\"from\">\n <nile-input \n label=\"From\"\n class=\"manual-input\" \n value=\"${this.formatTime(this.startDate)}\" \n placeholder=\"HH:MM:SS\" @nile-change=\"${this.handleStartTimeInput}\"\n > </nile-input>\n </div>\n\n <div class=\"from\">\n <nile-input \n label=\"To\"\n class=\"manual-input\" \n value=\"${this.formatTime(this.endDate)}\" \n placeholder=\"HH:MM:SS\" @nile-change=\"${this.handleEndTimeInput}\"\n > </nile-input>\n </div>\n </div>\n `:''}\n `\n }\n\n /**\n * @returns HTML content for relative calendar\n */\n renderRelativeCalendar(){\n return html`\n <div class=\"units-wrapper\">\n <div class=\"unit-container\">\n ${this.hideDurationFields?.includes('minutes')?'':html`\n <div class=\"duration-name\">Minutes</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}\n </div>\n `}\n\n ${this.hideDurationFields?.includes('hours')?'':html`\n <div class=\"duration-name\">Hours</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}\n </div>\n `}\n \n ${this.hideDurationFields?.includes('days')?'':html`\n <div class=\"duration-name\">Days</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}\n </div>\n `}\n \n ${this.hideDurationFields?.includes('weeks')?'':html`\n <div class=\"duration-name\">Weeks</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('weeks', [1, 2, 4, 6])}\n </div>\n `}\n \n ${this.hideDurationFields?.includes('months')?'':html`\n <div class=\"duration-name\">Months</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('months', [3, 6, 12, 15])}\n </div>\n `}\n </div>\n </div>\n \n ${this.range ? html`\n <div>\n <div class=\"unit-input-container\">\n <nile-input \n class=\"manual-input duration-input\" \n label=\"Duration\"\n inputmode=\"numeric\"\n type=\"number\"\n value=\"${this.selectedValue}\" \n @nile-input=\"${this.handleDurationChange}\"\n placeholder=\"Enter Value\"\n ></nile-input>\n\n <nile-select class=\"manual-input time-input\" \n label=\"Unit of time\" \n value=\"${ this.selectedUnit }\"\n @nile-change=\"${this.handleUnitChange}\"\n >\n <nile-option value=\"minutes\" class=\"${this.hideDurationFields?.includes('minutes')?'hidden':''}\">Minutes</nile-option>\n <nile-option value=\"hours\" class=\"${this.hideDurationFields?.includes('hours')?'hidden':''}\"> Hours </nile-option>\n <nile-option value=\"days\" class=\"${this.hideDurationFields?.includes('days')?'hidden':''}\">Days</nile-option>\n <nile-option value=\"weeks\" class=\"${this.hideDurationFields?.includes('weeks')?'hidden':''}\">Weeks</nile-option>\n <nile-option value=\"months\" class=\"${this.hideDurationFields?.includes('months')?'hidden':''}\"> Months </nile-option>\n </nile-select>\n </div>\n </div>\n `:''}\n `\n }\n \n /**\n * \n * @param unit \n * @param values \n * @returns html for the option\n */\n renderTimeValues(unit: TimeUnits, values: any[]) {\n return values.map(\n value =>\n html`\n <div\n class=\"duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected':''}\"\n @click=${(e: any) => this.handleTimeValueClick(unit, value, e)}\n >${value}\n </div>`\n );\n }\n\n /**\n * \n * @param year \n * @param month \n * @param daysArray \n * @returns HTML for rendered month\n */\n private renderMonth(\n year: number,\n month: number,\n daysArray: number[]\n ): TemplateResult {\n const firstDay = new Date(year, month, 1).getDay();\n const lastDay = new Date(year, month + 1, 0).getDay();\n const prevMonthDays = this.getDaysArray(\n month === 0 ? year - 1 : year,\n month === 0 ? 11 : month - 1\n );\n const nextMonthDays = this.getDaysArray(\n month === 11 ? year + 1 : year,\n month === 11 ? 0 : month + 1\n );\n const fillerDaysBefore = prevMonthDays.slice(\n prevMonthDays.length - firstDay\n );\n const fillerDaysAfter = nextMonthDays.slice(0, 6 - lastDay);\n const allDays = [...fillerDaysBefore, ...daysArray, ...fillerDaysAfter];\n\n const isSelectedDate = (\n day: number,\n month: number,\n year: number,\n isCurrentMonth: boolean\n ) => {\n if (!isCurrentMonth) return '';\n\n if (!this.range && this.value) {\n const isSelected =\n day === this.value.getDate() &&\n month === this.value.getMonth() &&\n year === this.value.getFullYear();\n if (isSelected) return 'selected-date';\n }\n\n const isStartDate =\n this.startDate &&\n day === this.startDate.getDate() &&\n month === this.startDate.getMonth() &&\n year === this.startDate.getFullYear();\n const isEndDate =\n this.endDate &&\n day === this.endDate.getDate() &&\n month === this.endDate.getMonth() &&\n year === this.endDate.getFullYear();\n\n return isStartDate ? 'range-start' : isEndDate ? 'range-end' : '';\n };\n\n const isInRange = (\n day: number,\n month: number,\n year: number,\n isCurrentMonth: boolean\n ) => {\n if (!isCurrentMonth) return false;\n if (this.startDate && this.endDate) {\n const date = new Date(year, month, day);\n return date >= this.startDate && date <= this.endDate;\n }\n return false;\n };\n\n const isCurrentDate = (day: number, month: number, year: number) => {\n const today = new Date();\n return (\n day === today.getDate() &&\n month + 1 === today.getMonth() + 1 &&\n year === today.getFullYear()\n );\n };\n\n return html`\n <div class=\"calendar\">\n <div class=\"calendar-header\">\n <nile-icon\n class=\"calendar-header__month-navigation\"\n name=\"arrowleft\"\n color=\"black\"\n @click=\"${this.prevMonth}\"\n >\n </nile-icon>\n <span\n >${new Date(year, month).toLocaleString('default', {\n month: 'long',\n })}\n ${year}</span\n >\n <nile-icon\n class=\"calendar-header__month-navigation\"\n name=\"arrowright\"\n color=\"black\"\n @click=\"${this.nextMonth}\"\n >\n </nile-icon>\n </div>\n <div class=\"days_container\">\n <div class=\"day_name\">Su</div>\n <div class=\"day_name\">Mo</div>\n <div class=\"day_name\">Tu</div>\n <div class=\"day_name\">We</div>\n <div class=\"day_name\">Th</div>\n <div class=\"day_name\">Fr</div>\n <div class=\"day_name\">Sa</div>\n\n ${allDays.map((day, index) => {\n const isCurrentMonth =\n index >= fillerDaysBefore.length &&\n index < fillerDaysBefore.length + daysArray.length;\n const datePlacement:''|'selected-date'|'range-start'|'range-end' = isSelectedDate(day, month, year, isCurrentMonth)\n const classMapObj:any={\n 'day_date' : true,\n 'not-allowed' : !this.isAllowedDate(day, month, year),\n 'in-range' : isInRange(day, month, year, isCurrentMonth) ,\n 'filler' : !isCurrentMonth,\n }\n if(datePlacement) classMapObj[datePlacement]=true\n \n return html` \n <div\n class=${classMap(classMapObj)}\n @click=\"${() => { if (isCurrentMonth) this.selectDate(day, month, year)}}\"\n >\n <span style=\"position:relative;\">\n ${day}\n ${isCurrentDate(day, month, year) && isCurrentMonth?html`<div class=\"current__date__dot\"></div>`:nothing}\n </span>\n </div>`;\n })}\n </div>\n </div>\n `;\n }\n\n /**\n * Function to validate if date is not in allowedDates range\n * @param day \n * @param month \n * @param year \n * @returns \n */\n isAllowedDate(day: number, month: number, year: number) {\n if (!this.allowedDatesLocal) {\n return true;\n }\n const dateToCheck = new Date(Date.UTC(year, month, day));\n const startDate = this.getUTCDate(this.allowedDatesLocal.startDate)\n const endDate = this.getUTCDate(this.allowedDatesLocal.endDate)\n endDate.setUTCHours(23, 59, 59, 999);\n const isWithinRange = dateToCheck >= startDate && dateToCheck <= endDate;\n return isWithinRange;\n }\n\n /**\n * @function handle_date-click/select\n * @param day \n * @param month \n * @param year \n */\n selectDate(day: number, month: number, year: number): void {\n const selectedDate = new Date(year, month, day);\n\n if (this.range) {\n if (this.startDate && this.endDate) {\n this.startDate = null;\n this.endDate = null;\n }\n\n if (this.isSelectingStart) {\n this.startDate = selectedDate;\n if (this.endDate && selectedDate > this.endDate) {\n this.endDate = null;\n }\n this.isSelectingStart = false;\n } else {\n this.isSelectingStart = true;\n\n if (this.startDate && selectedDate < this.startDate) {\n this.startDate = selectedDate;\n this.endDate = null;\n this.isSelectingStart = false;\n } else {\n const endDate = selectedDate;\n endDate.setHours(23, 59, 59, 999);\n this.endDate = endDate;\n }\n }\n } else {\n this.value = selectedDate;\n this.emitChangedData({ value: this.value });\n }\n }\n\n /**\n * Function to be called on initialization to set all other properties\n */\n initializeValue() {\n if (this.range) {\n try {\n const rangeValue = JSON.parse(this.valueAttribute || '');\n this.startDate = new Date(rangeValue.startDate);\n this.endDate = new Date(rangeValue.endDate);\n\n // Convert to local time\n this.startDate = new Date(this.startDate.getTime());\n this.endDate = new Date(this.endDate.getTime());\n\n this.value = null;\n } catch (e) {\n // console.error('Invalid range value');\n }\n } else {\n if (this.valueAttribute) {\n let date: Date = new Date(this.valueAttribute);\n\n date = new Date(date.getTime() - date.getTimezoneOffset() * 60000);\n\n if (!isNaN(date.getTime())) {\n this.value = date;\n this.currentMonth = this.value.getMonth();\n this.currentYear = this.value.getFullYear();\n }\n }\n }\n }\n\n /**\n * Function to handle relative date selection\n */\n handleDurationChange(event: CustomEvent) {\n event.detail.value = event.detail.value.replace(/e/gi, \"\");\n const duration=Number(event.detail.value);\n if(!duration) {\n return\n };\n this.selectedValue = duration\n if (this.selectedUnit && this.selectedValue) {\n this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);\n }\n }\n\n handleUnitChange(event: any) {\n this.selectedUnit = event.detail.value;\n if (this.selectedUnit && this.selectedValue) {\n this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);\n }\n }\n\n handleTimeValueClick(unit: TimeUnits, value: number, event: any) {\n this.createRelativePeriod(unit, value)\n this.selectedUnit = unit;\n this.selectedValue = value;\n }\n\n createRelativePeriod(unit: String, value: number) {\n const endTime = new Date();\n const startTime = new Date();\n\n switch (unit) {\n case 'minutes':\n startTime.setMinutes(startTime.getMinutes() - value);\n break;\n case 'hours':\n startTime.setHours(startTime.getHours() - value);\n break;\n case 'days':\n startTime.setDate(startTime.getDate() - value);\n break;\n case 'weeks':\n startTime.setDate(startTime.getDate() - 7 * value); // Subtract weeks as days\n break;\n case 'months':\n startTime.setMonth(startTime.getMonth() - value);\n break;\n }\n\n this.startDate = new Date(startTime.getTime());\n this.endDate = new Date(endTime.getTime());\n\n return {\n startDate: this.startDate,\n endDate: this.endDate,\n };\n }\n \n /**\n * Function to handle start time selecion\n */\n private handleStartTimeInput(event: CustomEvent): void {\n if (!this.startDate) {\n this.startDate = null;\n return;\n }\n const time = this.parseTime(event.detail.value, this.startDate);\n if (time) {\n this.startDate = time;\n } else {\n this.startDate.setHours(0, 0, 0);\n }\n this.requestUpdate();\n }\n \n /**\n * Function to handle end time selecion\n */\n private handleEndTimeInput(event: CustomEvent): void {\n if (!this.endDate) {\n this.endDate = null;\n return;\n }\n const time = this.parseTime(event.detail.value, this.endDate);\n if (time) {\n this.endDate = time;\n } else {\n this.endDate.setHours(0, 0, 0);\n }\n this.requestUpdate();\n }\n\n // Parse time string to a Date object\n private parseTime(input: string, date: Date): Date | null {\n if (!this.isValidTimeInput(input)) {\n return null;\n }\n const [hour, minute, second] = input.split(':').map(Number);\n const newDate = new Date(date.getTime());\n newDate.setHours(hour, minute, second);\n return newDate;\n }\n\n // Validate time in HH:MM:SS format\n private isValidTimeInput(input: string): boolean {\n const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;\n return regex.test(input);\n }\n\n private handleStartDateInput(event: CustomEvent): void {\n const date = this.parseDate(event.detail.value);\n if (!this.isValidDateInput(date)) {\n this.startDate = null;\n }\n if (date && (!this.endDate || date <= this.endDate)) {\n this.startDate = date;\n } else {\n this.startDate = null;\n this.endDate = null;\n }\n }\n\n private handleEndDateInput(event: CustomEvent): void {\n const date = this.parseDate(event.detail.value);\n if (!this.isValidDateInput(date)) {\n this.endDate = null;\n }\n if (date && (!this.startDate || date >= this.startDate)) {\n this.endDate = date;\n } else {\n this.endDate = null;\n }\n }\n \n private isValidDateInput(input: any): boolean {\n const regex = /^(0[1-9]|[12][0-9]|3[01])\\/(0[1-9]|1[0-2])\\/\\d{4}$/;\n return regex.test(input);\n }\n\n private parseDate(dateString: string): Date | null {\n const [day, month, year] = dateString.split('/').map(Number);\n const date = new Date(year, month - 1, day);\n return !isNaN(date.getTime()) ? date : null;\n }\n\n private formatDateRange(value: {\n startDate: Date | null;\n endDate: Date | null;\n }): string {\n if (!value) {\n return value;\n }\n if (!value.startDate || !value.endDate) return '';\n return `${this.formatDate(value.startDate)} - ${this.formatDate(\n value.endDate\n )}`;\n }\n\n private formatDate(date: Date | null): string {\n if (!date) return '';\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n }\n\n private formatTime(date: Date | null): string {\n if (!date) return '';\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n const seconds = String(date.getSeconds()).padStart(2, '0');\n return `${hours}:${minutes}:${seconds}`;\n }\n\n private nextMonth(): void {\n if (this.currentMonth === 11) {\n this.currentMonth = 0;\n this.currentYear++;\n } else {\n this.currentMonth++;\n }\n }\n\n private prevMonth(): void {\n if (this.currentMonth === 0) {\n this.currentMonth = 11;\n this.currentYear--;\n } else {\n this.currentMonth--;\n }\n }\n\n private confimRange() {\n if (!(this.startDate && this.endDate)) return;\n this.emitChangedData( {\n startDate: this.startDate,\n endDate: this.endDate,\n });\n }\n\n convertTZ(date: Date, tzString: any) {\n return new Date(\n (typeof date === 'string' ? new Date(date) : date).toLocaleString(\n 'en-US',\n { timeZone: tzString }\n )\n );\n }\n\n onTypeChange(event: CustomEvent) {\n this.type = event.detail.value;\n this.emit('nile-type-change', { value: this.type })\n }\n getUTCDate(dateStr:any){\n return new Date(\n Date.UTC(\n dateStr.slice(0, 4),\n dateStr.slice(5, 7) - 1,\n dateStr.slice(8, 10)\n )\n )\n }\n\n emitChangedData(data:{startDate:Date,endDate:Date}|{value:any}){\n this.emit('nile-changed',data);\n this.emit('nile-change',data)\n }\n\n private getDaysArray(year: number, month: number): number[] {\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n return Array.from({ length: daysInMonth }, (_, i) => i + 1);\n }\n}\n\nexport default NileCalendar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-calendar': NileCalendar;\n }\n}"]}
1
+ {"version":3,"file":"nile-calendar.js","sourceRoot":"","sources":["../../../src/nile-calendar/nile-calendar.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n html,\n property,\n CSSResultArray,\n TemplateResult,\n nothing\n} from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-calendar.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { PropertyValueMap } from 'lit';\ntype NileCalendarDateRange={ startDate: string, endDate: string }\ntype TimeUnits= 'minutes'|'hours'|'days'|'weeks'|'months';\n/**\n * Nile icon component.\n *\n * @tag nile-calendar\n *\n */\n@customElement('nile-calendar')\nexport class NileCalendar extends NileElement {\n /**\n * The styles for NileCalendar\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected override BUBBLES: boolean=false;\n\n\n @property({ type: String, attribute: 'value' }) valueAttribute: | string | null = null;\n\n @property({ type: String, attribute:true, reflect:true }) allowedDates: string = JSON.stringify({});\n\n @property({ type: Boolean, reflect: true }) range = false;\n\n @property({ type: Boolean, attribute: true, reflect:true }) hideTypes = false;\n\n @property({ type: Boolean, reflect: true }) doubleClickUnselect = false;\n\n @property({ type: Boolean, reflect: true }) allowClear = false;\n\n @property({ type: String, reflect: true }) type :'absolute' | 'relative' = 'absolute';\n\n @property({ type: String }) selectedUnit: TimeUnits;\n\n @property({ type: Number }) selectedValue: number;\n\n @property({ type: Array, attribute: 'hide-duration-fields' }) hideDurationFields: String[] = [];\n \n @property({ type: Boolean}) showManualInputs :boolean=false;\n\n @state() startDate: Date | null = null;\n\n @state() endDate: Date | null = null;\n\n @state() isSelectingStart = true;\n\n @state() hideInput: Boolean = false;\n\n @state() value: Date | null;\n\n @state() currentMonth: number = new Date().getMonth();\n\n @state() currentYear: number = new Date().getFullYear();\n\n @state() allowedDatesLocal: NileCalendarDateRange | any = null;\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeValue();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has('valueAttribute')) {\n if(!this.valueAttribute){\n this.value=null;\n this.startDate=null;\n this.endDate=null;\n this.isSelectingStart=true;\n }\n const date = new Date(this.valueAttribute || '');\n if (!isNaN(date.getTime())) {\n const offset = date.getTimezoneOffset();\n this.value = new Date(date.getTime() - offset * 60 * 1000);\n this.currentMonth = this.value.getMonth();\n this.currentYear = this.value.getFullYear();\n }\n this.initializeValue();\n }\n }\n\n @watch('allowedDates')\n checkValidAllowedDate() {\n let newDateRange: NileCalendarDateRange | null;\n try {\n newDateRange=JSON.parse(this.allowedDates);\n } catch (error) {\n newDateRange=null;\n }\n if (!newDateRange || Object.keys(newDateRange).length == 0) {\n this.allowedDatesLocal=null;\n return;\n }\n this.hideInput=true;\n const startDate = this.getUTCDate(newDateRange.startDate)\n const endDate = this.getUTCDate(newDateRange.endDate)\n\n if (startDate > endDate) {\n console.error('StartDate must be greater than endDate');\n }\n else\n {\n this.allowedDatesLocal=newDateRange;\n }\n }\n \n\n /**\n * Render method\n */\n render(): TemplateResult {\n return html`\n <div\n class=${classMap({\n base:true,\n base__range:this.range,\n })}\n >\n <div class=${classMap({\n \"calendar-config\":true,\n \"hidden\": !this.range || (this.range && this.hideTypes)\n })}>\n <div class=\"calendar-switcher\">\n <nile-tab-group centered @nile-tab-show=\"${this.onTypeChange}\" value=\"${this.type}\">\n <nile-tab slot=\"nav\" panel=\"absolute\">Absolute</nile-tab>\n <nile-tab slot=\"nav\" panel=\"relative\">Relative</nile-tab>\n </nile-tab-group>\n </div>\n </div>\n\n ${this.type == 'relative' ? this.renderRelativeCalendar():''}\n ${this.type == 'absolute' ? this.renderAbsoluteCalendar():''}\n\n ${!this.range?'':html`\n <div class=\"button-container\">\n ${this.allowClear?\n html`\n <nile-button \n class=\"apply-button\"\n variant=\"secondary\"\n ?disabled=\"${ !this.startDate || !this.endDate }\"\n @click=\"${this.clearDate}\"\n > Clear</nile-button>`:nothing\n }\n <nile-button \n class=\"apply-button\" \n ?disabled=\"${ !this.startDate || !this.endDate }\" \n @click=\"${this.confimRange}\"\n > Apply</nile-button>\n </div>\n `}\n </div>\n `;\n }\n\n /**\n * @returns HTML content for absolute calendar\n */\n renderAbsoluteCalendar(){\n return html`\n <div class=\"calendar-wrapper\">\n <div class=\"calendar-container\">\n ${this.renderMonth(\n this.currentYear,\n this.currentMonth,\n this.getDaysArray(this.currentYear, this.currentMonth)\n )}\n </div>\n </div>\n ${this.range ? html`\n <div class=\"calender-input ${this.showManualInputs ? '' : 'hidden'}\" >\n <div class=\"from\">\n <nile-input \n label=\"From\"\n class=\"manual-input\" \n value=\"${this.formatTime(this.startDate)}\" \n placeholder=\"HH:MM:SS\" @nile-change=\"${this.handleStartTimeInput}\"\n > </nile-input>\n </div>\n\n <div class=\"from\">\n <nile-input \n label=\"To\"\n class=\"manual-input\" \n value=\"${this.formatTime(this.endDate)}\" \n placeholder=\"HH:MM:SS\" @nile-change=\"${this.handleEndTimeInput}\"\n > </nile-input>\n </div>\n </div>\n `:''}\n `\n }\n\n /**\n * @returns HTML content for relative calendar\n */\n renderRelativeCalendar(){\n return html`\n <div class=\"units-wrapper\">\n <div class=\"unit-container\">\n ${this.hideDurationFields?.includes('minutes')?'':html`\n <div class=\"duration-name\">Minutes</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('minutes', [1, 5, 15, 30, 45])}\n </div>\n `}\n\n ${this.hideDurationFields?.includes('hours')?'':html`\n <div class=\"duration-name\">Hours</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('hours', [1, 2, 3, 6, 8, 12])}\n </div>\n `}\n \n ${this.hideDurationFields?.includes('days')?'':html`\n <div class=\"duration-name\">Days</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('days', [1, 2, 3, 4, 5, 6])}\n </div>\n `}\n \n ${this.hideDurationFields?.includes('weeks')?'':html`\n <div class=\"duration-name\">Weeks</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('weeks', [1, 2, 4, 6])}\n </div>\n `}\n \n ${this.hideDurationFields?.includes('months')?'':html`\n <div class=\"duration-name\">Months</div>\n <div class=\"duration-units\">\n ${this.renderTimeValues('months', [3, 6, 12, 15])}\n </div>\n `}\n </div>\n </div>\n \n ${this.range ? html`\n <div>\n <div class=\"unit-input-container\">\n <nile-input \n class=\"manual-input duration-input\" \n label=\"Duration\"\n inputmode=\"numeric\"\n type=\"number\"\n value=\"${this.selectedValue}\" \n @nile-change=\"${this.handleDurationChange}\"\n placeholder=\"Enter Value\"\n ></nile-input>\n\n <nile-select class=\"manual-input time-input\" \n label=\"Unit of time\" \n value=\"${ this.selectedUnit }\"\n @nile-change=\"${this.handleUnitChange}\"\n >\n <nile-option value=\"minutes\" class=\"${this.hideDurationFields?.includes('minutes')?'hidden':''}\">Minutes</nile-option>\n <nile-option value=\"hours\" class=\"${this.hideDurationFields?.includes('hours')?'hidden':''}\"> Hours </nile-option>\n <nile-option value=\"days\" class=\"${this.hideDurationFields?.includes('days')?'hidden':''}\">Days</nile-option>\n <nile-option value=\"weeks\" class=\"${this.hideDurationFields?.includes('weeks')?'hidden':''}\">Weeks</nile-option>\n <nile-option value=\"months\" class=\"${this.hideDurationFields?.includes('months')?'hidden':''}\"> Months </nile-option>\n </nile-select>\n </div>\n </div>\n `:''}\n `\n }\n \n /**\n * \n * @param unit \n * @param values \n * @returns html for the option\n */\n renderTimeValues(unit: TimeUnits, values: any[]) {\n return values.map(\n value =>\n html`\n <div\n class=\"duration__value ${this.selectedUnit === unit && this.selectedValue === value ? 'duration__value--selected':''}\"\n @click=${(e: any) => this.handleTimeValueClick(unit, value, e)}\n >${value}\n </div>`\n );\n }\n\n /**\n * \n * @param year \n * @param month \n * @param daysArray \n * @returns HTML for rendered month\n */\n private renderMonth(\n year: number,\n month: number,\n daysArray: number[]\n ): TemplateResult {\n const firstDay = new Date(year, month, 1).getDay();\n const lastDay = new Date(year, month + 1, 0).getDay();\n const prevMonthDays = this.getDaysArray(\n month === 0 ? year - 1 : year,\n month === 0 ? 11 : month - 1\n );\n const nextMonthDays = this.getDaysArray(\n month === 11 ? year + 1 : year,\n month === 11 ? 0 : month + 1\n );\n const fillerDaysBefore = prevMonthDays.slice(\n prevMonthDays.length - firstDay\n );\n const fillerDaysAfter = nextMonthDays.slice(0, 6 - lastDay);\n const allDays = [...fillerDaysBefore, ...daysArray, ...fillerDaysAfter];\n\n const isSelectedDate = (\n day: number,\n month: number,\n year: number,\n isCurrentMonth: boolean\n ) => {\n if (!isCurrentMonth) return '';\n\n if (!this.range && this.value) {\n const isSelected =\n day === this.value.getDate() &&\n month === this.value.getMonth() &&\n year === this.value.getFullYear();\n if (isSelected) return 'selected-date';\n }\n\n const isStartDate =\n this.startDate &&\n day === this.startDate.getDate() &&\n month === this.startDate.getMonth() &&\n year === this.startDate.getFullYear();\n const isEndDate =\n this.endDate &&\n day === this.endDate.getDate() &&\n month === this.endDate.getMonth() &&\n year === this.endDate.getFullYear();\n\n return isStartDate ? 'range-start' : isEndDate ? 'range-end' : '';\n };\n\n const isInRange = (\n day: number,\n month: number,\n year: number,\n isCurrentMonth: boolean\n ) => {\n if (!isCurrentMonth) return false;\n if (this.startDate && this.endDate) {\n const date = new Date(year, month, day);\n return date >= this.startDate && date <= this.endDate;\n }\n return false;\n };\n\n const isCurrentDate = (day: number, month: number, year: number) => {\n const today = new Date();\n return (\n day === today.getDate() &&\n month + 1 === today.getMonth() + 1 &&\n year === today.getFullYear()\n );\n };\n\n return html`\n <div class=\"calendar\">\n <div class=\"calendar-header\">\n <nile-icon\n class=\"calendar-header__month-navigation\"\n name=\"arrowleft\"\n color=\"black\"\n @click=\"${this.prevMonth}\"\n >\n </nile-icon>\n <span\n >${new Date(year, month).toLocaleString('default', {\n month: 'long',\n })}\n ${year}</span\n >\n <nile-icon\n class=\"calendar-header__month-navigation\"\n name=\"arrowright\"\n color=\"black\"\n @click=\"${this.nextMonth}\"\n >\n </nile-icon>\n </div>\n <div class=\"days_container\">\n <div class=\"day_name\">Su</div>\n <div class=\"day_name\">Mo</div>\n <div class=\"day_name\">Tu</div>\n <div class=\"day_name\">We</div>\n <div class=\"day_name\">Th</div>\n <div class=\"day_name\">Fr</div>\n <div class=\"day_name\">Sa</div>\n\n ${allDays.map((day, index) => {\n const isCurrentMonth =\n index >= fillerDaysBefore.length &&\n index < fillerDaysBefore.length + daysArray.length;\n const datePlacement:''|'selected-date'|'range-start'|'range-end' = isSelectedDate(day, month, year, isCurrentMonth)\n const classMapObj:any={\n 'day_date' : true,\n 'not-allowed' : !this.isAllowedDate(day, month, year),\n 'in-range' : isInRange(day, month, year, isCurrentMonth) ,\n 'filler' : !isCurrentMonth,\n }\n if(datePlacement) classMapObj[datePlacement]=true\n \n return html` \n <div\n class=${classMap(classMapObj)}\n @click=\"${() => { if (isCurrentMonth) this.selectDate(day, month, year)}}\"\n >\n <span style=\"position:relative;\">\n ${day}\n ${isCurrentDate(day, month, year) && isCurrentMonth?html`<div class=\"current__date__dot\"></div>`:nothing}\n </span>\n </div>`;\n })}\n </div>\n </div>\n `;\n }\n\n /**\n * Function to validate if date is not in allowedDates range\n * @param day \n * @param month \n * @param year \n * @returns \n */\n isAllowedDate(day: number, month: number, year: number) {\n if (!this.allowedDatesLocal) {\n return true;\n }\n const dateToCheck = new Date(Date.UTC(year, month, day));\n const startDate = this.getUTCDate(this.allowedDatesLocal.startDate)\n const endDate = this.getUTCDate(this.allowedDatesLocal.endDate)\n endDate.setUTCHours(23, 59, 59, 999);\n const isWithinRange = dateToCheck >= startDate && dateToCheck <= endDate;\n return isWithinRange;\n }\n\n clearDate(){\n if(this.range){\n this.valueAttribute='';\n this.startDate=null;\n this.endDate=null;\n }\n else{\n this.value=null;\n }\n this.emit('nile-clear')\n }\n\n /**\n * @function handle_date-click/select\n * @param day \n * @param month \n * @param year \n */\n selectDate(day: number, month: number, year: number): void {\n const selectedDate = new Date(year, month, day);\n\n if (this.range) {\n if (this.startDate && this.endDate) {\n this.startDate = null;\n this.endDate = null;\n }\n\n if (this.isSelectingStart) {\n this.startDate = selectedDate;\n if (this.endDate && selectedDate > this.endDate) {\n this.endDate = null;\n }\n this.isSelectingStart = false;\n } else {\n this.isSelectingStart = true;\n\n if (this.startDate && selectedDate < this.startDate) {\n this.startDate = selectedDate;\n this.endDate = null;\n this.isSelectingStart = false;\n } else {\n const endDate = selectedDate;\n endDate.setHours(23, 59, 59, 999);\n this.endDate = endDate;\n }\n }\n } else {\n if(String(this.value)==String(selectedDate) && this.doubleClickUnselect){\n this.clearDate()\n return\n }\n this.value = selectedDate;\n this.emitChangedData({ value: this.value });\n }\n }\n\n /**\n * Function to be called on initialization to set all other properties\n */\n initializeValue() {\n if (this.range) {\n try {\n const rangeValue = JSON.parse(this.valueAttribute || '');\n this.startDate = new Date(rangeValue.startDate);\n this.endDate = new Date(rangeValue.endDate);\n\n // Convert to local time\n this.startDate = new Date(this.startDate.getTime());\n this.endDate = new Date(this.endDate.getTime());\n\n this.value = null;\n } catch (e) {\n // console.error('Invalid range value');\n }\n } else {\n if (this.valueAttribute) {\n let date: Date = new Date(this.valueAttribute);\n\n date = new Date(date.getTime() - date.getTimezoneOffset() * 60000);\n\n if (!isNaN(date.getTime())) {\n this.value = date;\n this.currentMonth = this.value.getMonth();\n this.currentYear = this.value.getFullYear();\n }\n }\n }\n }\n\n /**\n * Function to handle relative date selection\n */\n handleDurationChange(event: CustomEvent) {\n event.stopPropagation()\n event.detail.value = event.detail.value.replace(/e/gi, \"\");\n const duration=Number(event.detail.value);\n if(!duration) {\n return\n };\n this.selectedValue = duration\n if (this.selectedUnit && this.selectedValue) {\n this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);\n }\n }\n\n handleUnitChange(event: any) {\n event.stopPropagation()\n this.selectedUnit = event.detail.value;\n if (this.selectedUnit && this.selectedValue) {\n this.handleTimeValueClick(this.selectedUnit, this.selectedValue, event);\n }\n }\n\n handleTimeValueClick(unit: TimeUnits, value: number, event: any) {\n this.createRelativePeriod(unit, value)\n this.selectedUnit = unit;\n this.selectedValue = value;\n }\n\n createRelativePeriod(unit: String, value: number) {\n const endTime = new Date();\n const startTime = new Date();\n\n switch (unit) {\n case 'minutes':\n startTime.setMinutes(startTime.getMinutes() - value);\n break;\n case 'hours':\n startTime.setHours(startTime.getHours() - value);\n break;\n case 'days':\n startTime.setDate(startTime.getDate() - value);\n break;\n case 'weeks':\n startTime.setDate(startTime.getDate() - 7 * value); // Subtract weeks as days\n break;\n case 'months':\n startTime.setMonth(startTime.getMonth() - value);\n break;\n }\n\n this.startDate = new Date(startTime.getTime());\n this.endDate = new Date(endTime.getTime());\n\n return {\n startDate: this.startDate,\n endDate: this.endDate,\n };\n }\n \n /**\n * Function to handle start time selecion\n */\n private handleStartTimeInput(event: CustomEvent): void {\n event.stopPropagation()\n if (!this.startDate) {\n this.startDate = null;\n return;\n }\n const time = this.parseTime(event.detail.value, this.startDate);\n if (time) {\n this.startDate = time;\n } else {\n this.startDate.setHours(0, 0, 0);\n }\n this.requestUpdate();\n }\n \n /**\n * Function to handle end time selecion\n */\n private handleEndTimeInput(event: CustomEvent): void {\n event.stopPropagation()\n if (!this.endDate) {\n this.endDate = null;\n return;\n }\n const time = this.parseTime(event.detail.value, this.endDate);\n if (time) {\n this.endDate = time;\n } else {\n this.endDate.setHours(0, 0, 0);\n }\n this.requestUpdate();\n }\n\n // Parse time string to a Date object\n private parseTime(input: string, date: Date): Date | null {\n if (!this.isValidTimeInput(input)) {\n return null;\n }\n const [hour, minute, second] = input.split(':').map(Number);\n const newDate = new Date(date.getTime());\n newDate.setHours(hour, minute, second);\n return newDate;\n }\n\n // Validate time in HH:MM:SS format\n private isValidTimeInput(input: string): boolean {\n const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;\n return regex.test(input);\n }\n\n private handleStartDateInput(event: CustomEvent): void {\n const date = this.parseDate(event.detail.value);\n if (!this.isValidDateInput(date)) {\n this.startDate = null;\n }\n if (date && (!this.endDate || date <= this.endDate)) {\n this.startDate = date;\n } else {\n this.startDate = null;\n this.endDate = null;\n }\n }\n\n private handleEndDateInput(event: CustomEvent): void {\n const date = this.parseDate(event.detail.value);\n if (!this.isValidDateInput(date)) {\n this.endDate = null;\n }\n if (date && (!this.startDate || date >= this.startDate)) {\n this.endDate = date;\n } else {\n this.endDate = null;\n }\n }\n \n private isValidDateInput(input: any): boolean {\n const regex = /^(0[1-9]|[12][0-9]|3[01])\\/(0[1-9]|1[0-2])\\/\\d{4}$/;\n return regex.test(input);\n }\n\n private parseDate(dateString: string): Date | null {\n const [day, month, year] = dateString.split('/').map(Number);\n const date = new Date(year, month - 1, day);\n return !isNaN(date.getTime()) ? date : null;\n }\n\n private formatDateRange(value: {\n startDate: Date | null;\n endDate: Date | null;\n }): string {\n if (!value) {\n return value;\n }\n if (!value.startDate || !value.endDate) return '';\n return `${this.formatDate(value.startDate)} - ${this.formatDate(\n value.endDate\n )}`;\n }\n\n private formatDate(date: Date | null): string {\n if (!date) return '';\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n }\n\n private formatTime(date: Date | null): string {\n if (!date) return '';\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n const seconds = String(date.getSeconds()).padStart(2, '0');\n return `${hours}:${minutes}:${seconds}`;\n }\n\n private nextMonth(): void {\n if (this.currentMonth === 11) {\n this.currentMonth = 0;\n this.currentYear++;\n } else {\n this.currentMonth++;\n }\n }\n\n private prevMonth(): void {\n if (this.currentMonth === 0) {\n this.currentMonth = 11;\n this.currentYear--;\n } else {\n this.currentMonth--;\n }\n }\n\n private confimRange() {\n if (!(this.startDate && this.endDate)) return;\n this.emitChangedData( {\n startDate: this.startDate,\n endDate: this.endDate,\n });\n }\n\n convertTZ(date: Date, tzString: any) {\n return new Date(\n (typeof date === 'string' ? new Date(date) : date).toLocaleString(\n 'en-US',\n { timeZone: tzString }\n )\n );\n }\n\n onTypeChange(event: CustomEvent) {\n this.type = event.detail.value;\n this.emit('nile-type-change', { value: this.type })\n }\n getUTCDate(dateStr:any){\n return new Date(\n Date.UTC(\n dateStr.slice(0, 4),\n dateStr.slice(5, 7) - 1,\n dateStr.slice(8, 10)\n )\n )\n }\n\n emitChangedData(data:{startDate:Date,endDate:Date}|{value:any}|null){\n this.emit('nile-changed',data);\n this.emit('nile-change',data)\n }\n\n private getDaysArray(year: number, month: number): number[] {\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n return Array.from({ length: daysInMonth }, (_, i) => i + 1);\n }\n}\n\nexport default NileCalendar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-calendar': NileCalendar;\n }\n}"]}
@@ -1 +1,7 @@
1
1
  import './nile-calendar';
2
+ import './nile-calendar';
3
+ import '../nile-input/nile-input';
4
+ import '../nile-select/nile-select';
5
+ import '../nile-tab-group/nile-tab-group';
6
+ import '../nile-tab/nile-tab';
7
+ import '../nile-button/nile-button';
@@ -2,6 +2,12 @@ import { fixture, html, expect, oneEvent, elementUpdated } from '@open-wc/testin
2
2
  import './nile-calendar';
3
3
  import { NileCalendar } from './nile-calendar';
4
4
  import Sinon from 'sinon';
5
+ import './nile-calendar';
6
+ import '../nile-input/nile-input';
7
+ import '../nile-select/nile-select';
8
+ import '../nile-tab-group/nile-tab-group';
9
+ import '../nile-tab/nile-tab';
10
+ import '../nile-button/nile-button';
5
11
  function wait(ms = 50000) {
6
12
  return new Promise(resolve => setTimeout(resolve, ms));
7
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-calendar.test.js","sourceRoot":"","sources":["../../../src/nile-calendar/nile-calendar.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { fixture, html, expect, oneEvent, elementUpdated, waitUntil } from '@open-wc/testing';\nimport './nile-calendar';\nimport { NileCalendar } from './nile-calendar';\nimport Sinon from 'sinon';\nimport { NileButton } from '../nile-button';\nimport { NileIcon } from '../nile-icon';\nimport { NileTab } from '../nile-tab';\nimport { NileTabGroup } from '../nile-tab-group';\nimport { NileSelect } from '../nile-select';\nimport { NileInput } from '../nile-input';\n\nfunction wait(ms:number=50000) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\ndescribe('NileCalendar', () => {\n // it('renders correctly with default properties', async () => {\n // const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n // expect(el).shadowDom.to.equalSnapshot();\n // });\n \n it('should render correctly', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n expect(el).to.be.instanceOf(NileCalendar);\n expect(el.shadowRoot).not.to.be.null;\n });\n\n it('should initialize value on connectedCallback', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar value=\"2023-10-01\"></nile-calendar>`);\n el.connectedCallback();\n expect(el.value?.toISOString().split('T')[0]).to.equal('2023-10-01');\n });\n\n it('should emit `nile-init` event on connectedCallback', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n const eventSpy = Sinon.spy(el, 'emit');\n el.connectedCallback();\n expect(eventSpy).to.have.been.calledWith('nile-init');\n });\n\n it('should initialize value on connectedCallback', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar value=\"2023-10-01\"></nile-calendar>`);\n el.connectedCallback();\n expect(el.value?.toISOString().split('T')[0]).to.equal('2023-10-01');\n });\n\n it('should update value when valueAttribute changes', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar value=\"2023-10-01\"></nile-calendar>`);\n el.valueAttribute = '2023-11-05';\n await el.updateComplete;\n expect(el.value?.toISOString().split('T')[0]).to.equal('2023-11-05');\n });\n\n it('should select a single date when clicked', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n \n // Get the current date element in the calendar\n const currentDateElement = el.shadowRoot?.querySelector('div.days_container div.current__date__dot')?.parentElement?.parentElement;\n \n // Simulate a click on the current date after a brief timeout\n setTimeout(() => currentDateElement?.click());\n \n // Wait for the 'nile-change' event to be emitted\n const { detail: { value } } = await oneEvent(el, 'nile-change');\n \n // Update the element after the event\n await elementUpdated(el);\n \n const emittedDate = new Date(value);\n // Assertions\n expect(value).to.exist;\n expect(emittedDate.getDate()).to.equal(new Date().getDate());\n expect(currentDateElement?.className).to.include('selected-date');\n });\n\n it('should change the month correctly on next and previous button click', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n await elementUpdated(el);\n \n // Get current, next, and previous months\n const today = new Date();\n const getMonthName = (date: Date) => date.toLocaleString('default', { month: 'long' });\n const currMonth = getMonthName(today);\n const nextMonth = getMonthName(new Date(today.setMonth(today.getMonth() + 1)));\n const prevMonth = getMonthName(new Date(today.setMonth(today.getMonth() - 2)));\n \n // Check initial month\n let monthText = el.shadowRoot?.querySelector('div.calendar-header > span')?.textContent;\n expect(monthText).to.include(currMonth);\n \n // Click next button and check next month\n const [prevButton, nextButton] = el.shadowRoot?.querySelectorAll<NileIcon>('nile-icon') || [];\n nextButton?.click();\n await elementUpdated(el);\n monthText = el.shadowRoot?.querySelector('div.calendar-header > span')?.textContent;\n expect(monthText).to.include(nextMonth);\n \n // Click previous button twice and check previous month\n prevButton?.click();\n await elementUpdated(el);\n prevButton?.click();\n await elementUpdated(el);\n monthText = el.shadowRoot?.querySelector('div.calendar-header > span')?.textContent;\n expect(monthText).to.include(prevMonth);\n })\n\n it('should allow range selection and emit validated data on apply', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar range></nile-calendar>`);\n await elementUpdated(el);\n\n // Get day elements from the calendar, selecting two dates for range selection\n const days = el.shadowRoot?.querySelectorAll('.days_container .day_date:not(.filler)') || [];\n const firstDay = days[4] as HTMLElement; // Choose the 5th day of the month\n const lastDay = days[9] as HTMLElement; // Choose the 10th day of the month\n\n // Simulate click events for selecting the range (start and end date)\n firstDay.click();\n await elementUpdated(el); // Wait for updates after selection\n lastDay.click();\n await elementUpdated(el); // Wait for updates after range selection\n\n // Ensure both dates are correctly selected in the DOM\n expect(firstDay.classList.contains('range-start')).to.be.true;\n expect(lastDay.classList.contains('range-end')).to.be.true;\n\n // Find and click the \"Apply\" button to confirm the range\n const applyButton = el.shadowRoot?.querySelector<NileButton>('.apply-button');\n setTimeout(() => applyButton?.click());\n\n // Wait for the emitted 'nile-changed' event\n const { detail } = await oneEvent(el, 'nile-changed');\n\n // Extract the emitted start and end dates from the event detail\n const { startDate, endDate } = detail;\n \n // Validate the emitted data\n const expectedStartDate = new Date();\n expectedStartDate.setDate(5); // Adjust to the expected 5th day\n const expectedEndDate = new Date();\n expectedEndDate.setDate(10); // Adjust to the expected 10th day\n \n expect(startDate.getDate()).to.equal(expectedStartDate.getDate());\n expect(endDate.getDate()).to.equal(expectedEndDate.getDate());\n });\n\n it('should correctly apply allowed dates range on calendar', async () => {\n const currentMonth = new Date().getMonth();\n const currentYear = new Date().getFullYear();\n\n // Define a range of allowed dates (e.g., from the 5th to the 20th of the current month)\n const allowedDates = {\n startDate: `${currentYear}-${String(currentMonth + 1).padStart(2, '0')}-05`,\n endDate: `${currentYear}-${String(currentMonth + 1).padStart(2, '0')}-20`\n };\n\n // Pass the allowed dates to the component as a property\n const el = await fixture<NileCalendar>(html`\n <nile-calendar allowedDates='${JSON.stringify(allowedDates)}'></nile-calendar>\n `);\n\n await elementUpdated(el);\n\n // Get all day elements from the calendar\n const days = el.shadowRoot?.querySelectorAll('.days_container .day_date') || [];\n\n // Verify that days outside the allowed range are marked as not allowed\n days.forEach((dayElement, index) => {\n const dayNumber = Number(dayElement.textContent?.trim());\n\n if (dayNumber < 5 || dayNumber > 20) {\n expect(dayElement.classList.contains('not-allowed')).to.be.true;\n } else {\n expect(dayElement.classList.contains('not-allowed')).to.be.false;\n }\n });\n });\n \n it('should select various ranges in relative calendar and emit correct data', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar range type=\"relative\"></nile-calendar>`);\n await elementUpdated(el);\n\n // Define test cases with unit and values for the relative range selection\n const testCases = [\n { unit: 'minutes', value: 15 },\n { unit: 'hours', value: 2 },\n { unit: 'days', value: 3 },\n { unit: 'weeks', value: 1 },\n { unit: 'months', value: 6 }\n ];\n\n let index=1;\n for (const testCase of testCases) {\n const { unit, value } = testCase;\n\n // Find the unit selector buttons and simulate click for the corresponding unit\n const unitSelector = Array.from(el.shadowRoot?.querySelectorAll<HTMLElement>(`div.unit-container .duration-units:nth-child(${index*2})>div`)??[]).find(el=>Number(el.textContent?.trim())==value);\n unitSelector?.click();\n await elementUpdated(el);\n\n // Simulate clicking the apply button\n const applyButton = el.shadowRoot?.querySelector<HTMLButtonElement>('.apply-button');\n setTimeout(() =>{ \n applyButton?.click();\n });\n\n // Wait for the emitted `nile-changed` event and get the emitted start and end dates\n const { detail } = await oneEvent(el, 'nile-change');\n const { startDate, endDate } = detail;\n\n // Validate the emitted data for each unit\n const now = new Date();\n let expectedStartDate = new Date(now);\n \n switch (unit) {\n case 'minutes':\n expectedStartDate.setMinutes(now.getMinutes() - value);\n break;\n case 'hours':\n expectedStartDate.setHours(now.getHours() - value);\n break;\n case 'days':\n expectedStartDate.setDate(now.getDate() - value);\n break;\n case 'weeks':\n expectedStartDate.setDate(now.getDate() - value * 7);\n break;\n case 'months':\n expectedStartDate.setMonth(now.getMonth() - value);\n break;\n }\n\n // Ensure the emitted startDate and endDate match the expected values\n expect(startDate.getTime()).to.be.closeTo(expectedStartDate.getTime(), 1000); // Allowing a small time tolerance\n expect(endDate.getTime()).to.be.closeTo(now.getTime(), 1000); // The endDate should be roughly now\n index++;\n }\n });\n\n it('should allow manual time input for from and to fields and emit correct data', async () => {\n const el = await fixture<NileCalendar>(html`\n <nile-calendar range showManualInputs></nile-calendar>\n `);\n await elementUpdated(el);\n\n const days = el.shadowRoot?.querySelectorAll('.days_container .day_date:not(.filler)') || [];\n const firstDay = days[4] as HTMLElement; // Select 5th day of the month\n const lastDay = days[9] as HTMLElement; // Select 10th day of the month\n\n // Simulate clicks to select the range (start and end date)\n firstDay.click();\n await elementUpdated(el);\n lastDay.click();\n await elementUpdated(el);\n\n // Find the \"From\" and \"To\" input fields\n const fromInput = el.shadowRoot?.querySelector<HTMLInputElement>('nile-input[label=\"From\"]');\n const toInput = el.shadowRoot?.querySelector<HTMLInputElement>('nile-input[label=\"To\"]');\n\n // Manually set the \"From\" and \"To\" time values\n if (fromInput && toInput) {\n // Simulate input events for both \"From\" and \"To\" time inputs\n fromInput.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'08:30:00'}}));\n toInput.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'17:00:00'}}));\n }\n\n await elementUpdated(el); // Wait for the DOM to update after the inputs\n\n // Simulate clicking the \"Apply\" button\n const applyButton = el.shadowRoot?.querySelector<HTMLButtonElement>('.apply-button');\n setTimeout(()=>applyButton?.click())\n\n // Wait for the emitted `nile-change` event\n const { detail } = await oneEvent(el, 'nile-change');\n const { startDate, endDate } = detail;\n\n // Expected start and end date should include the manually entered times\n const expectedStartDate = new Date();\n expectedStartDate.setHours(8, 30, 0); // 08:30:00 for \"From\" time\n const expectedEndDate = new Date();\n expectedEndDate.setHours(17, 0, 0); // 17:00:00 for \"To\" time\n\n // Validate the emitted startDate and endDate\n expect(startDate.getHours()).to.equal(expectedStartDate.getHours());\n expect(startDate.getMinutes()).to.equal(expectedStartDate.getMinutes());\n expect(startDate.getSeconds()).to.equal(expectedStartDate.getSeconds());\n\n expect(endDate.getHours()).to.equal(expectedEndDate.getHours());\n expect(endDate.getMinutes()).to.equal(expectedEndDate.getMinutes());\n expect(endDate.getSeconds()).to.equal(expectedEndDate.getSeconds());\n });\n\n it('should allow setting duration and unit of time in relative mode and emit correct data', async () => {\n const el = await fixture<NileCalendar>(html`\n <nile-calendar type=\"relative\" range></nile-calendar>\n `);\n await elementUpdated(el);\n\n // Step 1: Manually set the \"Duration\" input value\n const durationInput = el.shadowRoot?.querySelector<NileInput>('nile-input.duration-input');\n \n if (durationInput) {\n durationInput.dispatchEvent(new CustomEvent('nile-input',{detail:{value:'5'}}));// Set duration to 5 (e.g., 5 hours)\n }\n\n await elementUpdated(el); // Wait for the DOM to update after the input\n\n // Step 2: Select the \"Unit of Time\" from the select input (e.g., hours)\n const unitSelect = el.shadowRoot?.querySelector<NileSelect>('nile-select');\n if (unitSelect) {\n unitSelect.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'hours'}}));// Trigger change event\n }\n\n await elementUpdated(el); // Wait for the DOM to update after the selection\n\n // Step 3: Simulate clicking the \"Apply\" button\n const applyButton = el.shadowRoot?.querySelector<NileButton>('.apply-button');\n setTimeout(()=>applyButton?.click())\n\n // Step 4: Wait for the emitted `nile-change` event\n const { detail } = await oneEvent(el, 'nile-change');\n const { startDate, endDate } = detail;\n\n // Step 5: Validate the emitted data\n const now = new Date();\n const expectedStartDate = new Date(now);\n expectedStartDate.setHours(now.getHours() - 5); // Subtract 5 hours from the current time\n\n // Check if the emitted startDate matches the expected start date (5 hours ago)\n expect(startDate.getTime()).to.be.closeTo(expectedStartDate.getTime(), 1000); // Allowing small time tolerance (1000 ms)\n \n // Check if the emitted endDate is approximately now\n expect(endDate.getTime()).to.be.closeTo(now.getTime(), 1000); // The end date should be roughly now\n });\n});\n\n"]}
1
+ {"version":3,"file":"nile-calendar.test.js","sourceRoot":"","sources":["../../../src/nile-calendar/nile-calendar.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { fixture, html, expect, oneEvent, elementUpdated, waitUntil } from '@open-wc/testing';\nimport './nile-calendar';\nimport { NileCalendar } from './nile-calendar';\nimport Sinon from 'sinon';\nimport { NileButton } from '../nile-button';\nimport { NileIcon } from '../nile-icon';\nimport { NileTab } from '../nile-tab';\nimport { NileTabGroup } from '../nile-tab-group';\nimport { NileSelect } from '../nile-select';\nimport { NileInput } from '../nile-input';\n\nimport './nile-calendar';\nimport '../nile-input/nile-input';\nimport '../nile-select/nile-select';\nimport '../nile-tab-group/nile-tab-group';\nimport '../nile-tab/nile-tab';\nimport '../nile-button/nile-button';\n\nfunction wait(ms:number=50000) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\ndescribe('NileCalendar', () => {\n // it('renders correctly with default properties', async () => {\n // const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n // expect(el).shadowDom.to.equalSnapshot();\n // });\n \n it('should render correctly', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n expect(el).to.be.instanceOf(NileCalendar);\n expect(el.shadowRoot).not.to.be.null;\n });\n\n it('should initialize value on connectedCallback', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar value=\"2023-10-01\"></nile-calendar>`);\n el.connectedCallback();\n expect(el.value?.toISOString().split('T')[0]).to.equal('2023-10-01');\n });\n\n it('should emit `nile-init` event on connectedCallback', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n const eventSpy = Sinon.spy(el, 'emit');\n el.connectedCallback();\n expect(eventSpy).to.have.been.calledWith('nile-init');\n });\n\n it('should initialize value on connectedCallback', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar value=\"2023-10-01\"></nile-calendar>`);\n el.connectedCallback();\n expect(el.value?.toISOString().split('T')[0]).to.equal('2023-10-01');\n });\n\n it('should update value when valueAttribute changes', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar value=\"2023-10-01\"></nile-calendar>`);\n el.valueAttribute = '2023-11-05';\n await el.updateComplete;\n expect(el.value?.toISOString().split('T')[0]).to.equal('2023-11-05');\n });\n\n it('should select a single date when clicked', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n \n // Get the current date element in the calendar\n const currentDateElement = el.shadowRoot?.querySelector('div.days_container div.current__date__dot')?.parentElement?.parentElement;\n \n // Simulate a click on the current date after a brief timeout\n setTimeout(() => currentDateElement?.click());\n \n // Wait for the 'nile-change' event to be emitted\n const { detail: { value } } = await oneEvent(el, 'nile-change');\n \n // Update the element after the event\n await elementUpdated(el);\n \n const emittedDate = new Date(value);\n // Assertions\n expect(value).to.exist;\n expect(emittedDate.getDate()).to.equal(new Date().getDate());\n expect(currentDateElement?.className).to.include('selected-date');\n });\n\n it('should change the month correctly on next and previous button click', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);\n await elementUpdated(el);\n \n // Get current, next, and previous months\n const today = new Date();\n const getMonthName = (date: Date) => date.toLocaleString('default', { month: 'long' });\n const currMonth = getMonthName(today);\n const nextMonth = getMonthName(new Date(today.setMonth(today.getMonth() + 1)));\n const prevMonth = getMonthName(new Date(today.setMonth(today.getMonth() - 2)));\n \n // Check initial month\n let monthText = el.shadowRoot?.querySelector('div.calendar-header > span')?.textContent;\n expect(monthText).to.include(currMonth);\n \n // Click next button and check next month\n const [prevButton, nextButton] = el.shadowRoot?.querySelectorAll<NileIcon>('nile-icon') || [];\n nextButton?.click();\n await elementUpdated(el);\n monthText = el.shadowRoot?.querySelector('div.calendar-header > span')?.textContent;\n expect(monthText).to.include(nextMonth);\n \n // Click previous button twice and check previous month\n prevButton?.click();\n await elementUpdated(el);\n prevButton?.click();\n await elementUpdated(el);\n monthText = el.shadowRoot?.querySelector('div.calendar-header > span')?.textContent;\n expect(monthText).to.include(prevMonth);\n })\n\n it('should allow range selection and emit validated data on apply', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar range></nile-calendar>`);\n await elementUpdated(el);\n\n // Get day elements from the calendar, selecting two dates for range selection\n const days = el.shadowRoot?.querySelectorAll('.days_container .day_date:not(.filler)') || [];\n const firstDay = days[4] as HTMLElement; // Choose the 5th day of the month\n const lastDay = days[9] as HTMLElement; // Choose the 10th day of the month\n\n // Simulate click events for selecting the range (start and end date)\n firstDay.click();\n await elementUpdated(el); // Wait for updates after selection\n lastDay.click();\n await elementUpdated(el); // Wait for updates after range selection\n\n // Ensure both dates are correctly selected in the DOM\n expect(firstDay.classList.contains('range-start')).to.be.true;\n expect(lastDay.classList.contains('range-end')).to.be.true;\n\n // Find and click the \"Apply\" button to confirm the range\n const applyButton = el.shadowRoot?.querySelector<NileButton>('.apply-button');\n setTimeout(() => applyButton?.click());\n\n // Wait for the emitted 'nile-changed' event\n const { detail } = await oneEvent(el, 'nile-changed');\n\n // Extract the emitted start and end dates from the event detail\n const { startDate, endDate } = detail;\n \n // Validate the emitted data\n const expectedStartDate = new Date();\n expectedStartDate.setDate(5); // Adjust to the expected 5th day\n const expectedEndDate = new Date();\n expectedEndDate.setDate(10); // Adjust to the expected 10th day\n \n expect(startDate.getDate()).to.equal(expectedStartDate.getDate());\n expect(endDate.getDate()).to.equal(expectedEndDate.getDate());\n });\n\n it('should correctly apply allowed dates range on calendar', async () => {\n const currentMonth = new Date().getMonth();\n const currentYear = new Date().getFullYear();\n\n // Define a range of allowed dates (e.g., from the 5th to the 20th of the current month)\n const allowedDates = {\n startDate: `${currentYear}-${String(currentMonth + 1).padStart(2, '0')}-05`,\n endDate: `${currentYear}-${String(currentMonth + 1).padStart(2, '0')}-20`\n };\n\n // Pass the allowed dates to the component as a property\n const el = await fixture<NileCalendar>(html`\n <nile-calendar allowedDates='${JSON.stringify(allowedDates)}'></nile-calendar>\n `);\n\n await elementUpdated(el);\n\n // Get all day elements from the calendar\n const days = el.shadowRoot?.querySelectorAll('.days_container .day_date') || [];\n\n // Verify that days outside the allowed range are marked as not allowed\n days.forEach((dayElement, index) => {\n const dayNumber = Number(dayElement.textContent?.trim());\n\n if (dayNumber < 5 || dayNumber > 20) {\n expect(dayElement.classList.contains('not-allowed')).to.be.true;\n } else {\n expect(dayElement.classList.contains('not-allowed')).to.be.false;\n }\n });\n });\n \n it('should select various ranges in relative calendar and emit correct data', async () => {\n const el = await fixture<NileCalendar>(html`<nile-calendar range type=\"relative\"></nile-calendar>`);\n await elementUpdated(el);\n\n // Define test cases with unit and values for the relative range selection\n const testCases = [\n { unit: 'minutes', value: 15 },\n { unit: 'hours', value: 2 },\n { unit: 'days', value: 3 },\n { unit: 'weeks', value: 1 },\n { unit: 'months', value: 6 }\n ];\n\n let index=1;\n for (const testCase of testCases) {\n const { unit, value } = testCase;\n\n // Find the unit selector buttons and simulate click for the corresponding unit\n const unitSelector = Array.from(el.shadowRoot?.querySelectorAll<HTMLElement>(`div.unit-container .duration-units:nth-child(${index*2})>div`)??[]).find(el=>Number(el.textContent?.trim())==value);\n unitSelector?.click();\n await elementUpdated(el);\n\n // Simulate clicking the apply button\n const applyButton = el.shadowRoot?.querySelector<HTMLButtonElement>('.apply-button');\n setTimeout(() =>{ \n applyButton?.click();\n });\n\n // Wait for the emitted `nile-changed` event and get the emitted start and end dates\n const { detail } = await oneEvent(el, 'nile-change');\n const { startDate, endDate } = detail;\n\n // Validate the emitted data for each unit\n const now = new Date();\n let expectedStartDate = new Date(now);\n \n switch (unit) {\n case 'minutes':\n expectedStartDate.setMinutes(now.getMinutes() - value);\n break;\n case 'hours':\n expectedStartDate.setHours(now.getHours() - value);\n break;\n case 'days':\n expectedStartDate.setDate(now.getDate() - value);\n break;\n case 'weeks':\n expectedStartDate.setDate(now.getDate() - value * 7);\n break;\n case 'months':\n expectedStartDate.setMonth(now.getMonth() - value);\n break;\n }\n\n // Ensure the emitted startDate and endDate match the expected values\n expect(startDate.getTime()).to.be.closeTo(expectedStartDate.getTime(), 1000); // Allowing a small time tolerance\n expect(endDate.getTime()).to.be.closeTo(now.getTime(), 1000); // The endDate should be roughly now\n index++;\n }\n });\n\n it('should allow manual time input for from and to fields and emit correct data', async () => {\n const el = await fixture<NileCalendar>(html`\n <nile-calendar range showManualInputs></nile-calendar>\n `);\n await elementUpdated(el);\n\n const days = el.shadowRoot?.querySelectorAll('.days_container .day_date:not(.filler)') || [];\n const firstDay = days[4] as HTMLElement; // Select 5th day of the month\n const lastDay = days[9] as HTMLElement; // Select 10th day of the month\n\n // Simulate clicks to select the range (start and end date)\n firstDay.click();\n await elementUpdated(el);\n lastDay.click();\n await elementUpdated(el);\n\n // Find the \"From\" and \"To\" input fields\n const fromInput = el.shadowRoot?.querySelector<HTMLInputElement>('nile-input[label=\"From\"]');\n const toInput = el.shadowRoot?.querySelector<HTMLInputElement>('nile-input[label=\"To\"]');\n\n // Manually set the \"From\" and \"To\" time values\n if (fromInput && toInput) {\n // Simulate input events for both \"From\" and \"To\" time inputs\n fromInput.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'08:30:00'}}));\n toInput.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'17:00:00'}}));\n }\n\n await elementUpdated(el); // Wait for the DOM to update after the inputs\n\n // Simulate clicking the \"Apply\" button\n const applyButton = el.shadowRoot?.querySelector<HTMLButtonElement>('.apply-button');\n setTimeout(()=>applyButton?.click())\n\n // Wait for the emitted `nile-change` event\n const { detail } = await oneEvent(el, 'nile-change');\n const { startDate, endDate } = detail;\n\n // Expected start and end date should include the manually entered times\n const expectedStartDate = new Date();\n expectedStartDate.setHours(8, 30, 0); // 08:30:00 for \"From\" time\n const expectedEndDate = new Date();\n expectedEndDate.setHours(17, 0, 0); // 17:00:00 for \"To\" time\n\n // Validate the emitted startDate and endDate\n expect(startDate.getHours()).to.equal(expectedStartDate.getHours());\n expect(startDate.getMinutes()).to.equal(expectedStartDate.getMinutes());\n expect(startDate.getSeconds()).to.equal(expectedStartDate.getSeconds());\n\n expect(endDate.getHours()).to.equal(expectedEndDate.getHours());\n expect(endDate.getMinutes()).to.equal(expectedEndDate.getMinutes());\n expect(endDate.getSeconds()).to.equal(expectedEndDate.getSeconds());\n });\n\n it('should allow setting duration and unit of time in relative mode and emit correct data', async () => {\n const el = await fixture<NileCalendar>(html`\n <nile-calendar type=\"relative\" range></nile-calendar>\n `);\n await elementUpdated(el);\n\n // Step 1: Manually set the \"Duration\" input value\n const durationInput = el.shadowRoot?.querySelector<NileInput>('nile-input.duration-input');\n \n if (durationInput) {\n durationInput.dispatchEvent(new CustomEvent('nile-input',{detail:{value:'5'}}));// Set duration to 5 (e.g., 5 hours)\n }\n\n await elementUpdated(el); // Wait for the DOM to update after the input\n\n // Step 2: Select the \"Unit of Time\" from the select input (e.g., hours)\n const unitSelect = el.shadowRoot?.querySelector<NileSelect>('nile-select');\n if (unitSelect) {\n unitSelect.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'hours'}}));// Trigger change event\n }\n\n await elementUpdated(el); // Wait for the DOM to update after the selection\n\n // Step 3: Simulate clicking the \"Apply\" button\n const applyButton = el.shadowRoot?.querySelector<NileButton>('.apply-button');\n setTimeout(()=>applyButton?.click())\n\n // Step 4: Wait for the emitted `nile-change` event\n const { detail } = await oneEvent(el, 'nile-change');\n const { startDate, endDate } = detail;\n\n // Step 5: Validate the emitted data\n const now = new Date();\n const expectedStartDate = new Date(now);\n expectedStartDate.setHours(now.getHours() - 5); // Subtract 5 hours from the current time\n\n // Check if the emitted startDate matches the expected start date (5 hours ago)\n expect(startDate.getTime()).to.be.closeTo(expectedStartDate.getTime(), 1000); // Allowing small time tolerance (1000 ms)\n \n // Check if the emitted endDate is approximately now\n expect(endDate.getTime()).to.be.closeTo(now.getTime(), 1000); // The end date should be roughly now\n });\n});\n\n"]}
@@ -15,6 +15,7 @@ import { CSSResultGroup } from 'lit';
15
15
  */
16
16
  export declare class NileCard extends NileElements {
17
17
  static styles: CSSResultGroup;
18
+ protected BUBBLES: boolean;
18
19
  private readonly hasSlotController;
19
20
  render(): TemplateResult<1>;
20
21
  }
@@ -20,6 +20,7 @@ import NileElements from '../internal/nile-element';
20
20
  let NileCard = class NileCard extends NileElements {
21
21
  constructor() {
22
22
  super(...arguments);
23
+ this.BUBBLES = false;
23
24
  this.hasSlotController = new HasSlotController(this, 'footer');
24
25
  }
25
26
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"nile-card.js","sourceRoot":"","sources":["../../../src/nile-card/nile-card.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAGpD;;;;;GAKG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAAnC;;QAGY,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IA8B7E,CAAC;IA5BC,MAAM;QACJ,OAAO,IAAI,CAAA;;;gBAGC,QAAQ,CAAC;YACf,IAAI,EAAE,IAAI;YACV,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC1D,CAAC;;;gBAGM,QAAQ,CAAC;YACf,eAAe,EAAC,IAAI;YACpB,kBAAkB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3D,CAAC;;;;;;;;;qBASW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;KAItD,CAAC;IACJ,CAAC;;AA/BM,eAAM,GAAmB,MAAM,CAAC;AAD5B,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAiCpB;SAjCY,QAAQ;AAmCrB,eAAe,QAAQ,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-card.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport NileElements from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\n\n/**\n * Nile icon component.\n *\n * @tag nile-card\n *\n */\n@customElement('nile-card')\nexport class NileCard extends NileElements {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'footer');\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n card: true,\n 'card--has-footer': this.hasSlotController.test('footer'),\n })}\n >\n <div class=\"body__wrapper\" part=\"body__wrapper\"\n class=${classMap({\n 'body__wrapper':true,\n 'body__wrapper_nf': !this.hasSlotController.test('footer')\n })}\n >\n <slot name=\"header\" part=\"header\" class=\"card__header\"></slot>\n <slot part=\"body\" class=\"card__body\"></slot>\n </div>\n\n <slot\n name=\"footer\"\n part=\"footer\"\n ?hidden=\"${!this.hasSlotController.test('footer')}\"\n class=\"card__footer\"\n ></slot>\n </div>\n `;\n }\n}\n\nexport default NileCard;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-card': NileCard;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-card.js","sourceRoot":"","sources":["../../../src/nile-card/nile-card.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAGpD;;;;;GAKG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAAnC;;QAGc,YAAO,GAAU,KAAK,CAAC;QAEzB,sBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IA8B7E,CAAC;IA5BC,MAAM;QACJ,OAAO,IAAI,CAAA;;;gBAGC,QAAQ,CAAC;YACf,IAAI,EAAE,IAAI;YACV,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC1D,CAAC;;;gBAGM,QAAQ,CAAC;YACf,eAAe,EAAC,IAAI;YACpB,kBAAkB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3D,CAAC;;;;;;;;;qBASW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;KAItD,CAAC;IACJ,CAAC;;AAjCM,eAAM,GAAmB,MAAM,CAAC;AAD5B,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAmCpB;SAnCY,QAAQ;AAqCrB,eAAe,QAAQ,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-card.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport NileElements from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\n\n/**\n * Nile icon component.\n *\n * @tag nile-card\n *\n */\n@customElement('nile-card')\nexport class NileCard extends NileElements {\n static styles: CSSResultGroup = styles;\n\n protected override BUBBLES: boolean=false;\n\n private readonly hasSlotController = new HasSlotController(this, 'footer');\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n card: true,\n 'card--has-footer': this.hasSlotController.test('footer'),\n })}\n >\n <div class=\"body__wrapper\" part=\"body__wrapper\"\n class=${classMap({\n 'body__wrapper':true,\n 'body__wrapper_nf': !this.hasSlotController.test('footer')\n })}\n >\n <slot name=\"header\" part=\"header\" class=\"card__header\"></slot>\n <slot part=\"body\" class=\"card__body\"></slot>\n </div>\n\n <slot\n name=\"footer\"\n part=\"footer\"\n ?hidden=\"${!this.hasSlotController.test('footer')}\"\n class=\"card__footer\"\n ></slot>\n </div>\n `;\n }\n}\n\nexport default NileCard;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-card': NileCard;\n }\n}\n"]}
@@ -37,6 +37,7 @@ import type { CSSResultGroup } from 'lit';
37
37
  export declare class NileCheckbox extends NileElement {
38
38
  constructor();
39
39
  static styles: CSSResultGroup;
40
+ protected BUBBLES: boolean;
40
41
  input: HTMLInputElement;
41
42
  private hasFocus;
42
43
  title: string;
@@ -45,6 +45,7 @@ import NileElement from '../internal/nile-element';
45
45
  let NileCheckbox = class NileCheckbox extends NileElement {
46
46
  constructor() {
47
47
  super();
48
+ this.BUBBLES = false;
48
49
  this.hasFocus = false;
49
50
  this.title = ''; // make reactive to pass through
50
51
  /** The name of the checkbox, submitted as a name/value pair with form data. */
@@ -1 +1 @@
1
- {"version":3,"file":"nile-checkbox.js","sourceRoot":"","sources":["../../../src/nile-checkbox/nile-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n \nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-checkbox.css';\n \nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\n \n/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n *\n * @dependency nile-icon\n *\n * @slot - The checkbox's label.\n *\n * @event nile-blur - Emitted when the checkbox loses focus.\n * @event nile-change - Emitted when the checked state changes.\n * @event nile-focus - Emitted when the checkbox gains focus.\n * @event nile-input - Emitted when the checkbox receives input.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<nile-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<nile-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n */\n \n/**\n * Nile icon component.\n *\n * @tag nile-checkbox\n *\n */\n@customElement('nile-checkbox')\nexport class NileCheckbox extends NileElement {\n constructor() {\n super();\n }\n \n static styles: CSSResultGroup = styles;\n \n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n \n @state() private hasFocus = false;\n \n @property() title = ''; // make reactive to pass through\n \n /** The name of the checkbox, submitted as a name/value pair with form data. */\n @property() name = '';\n \n /** The current value of the checkbox, submitted as a name/value pair with form data. */\n @property() value: boolean;\n \n /** The checkbox's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n \n /** Disables the checkbox. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n \n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n \n /** Label, declared this property for backward compatibility of old component */\n @property({ type: String, reflect: true }) label = '';\n \n /**\n * Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\n * all/none\" behavior when associated checkboxes have a mix of checked and unchecked states.\n */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n \n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n \n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n \n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n \n @property({ type: Boolean }) showHelpText = false;\n \n \n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n \n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n \n private toggleHelpText() {\n this.showHelpText = !this.showHelpText;\n }\n \n private handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.emit('nile-change',{checked: this.checked})\n this.emit('valueChange',{checked: this.checked})\n }\n \n private handleBlur() {\n this.hasFocus = false;\n this.emit('blur');\n }\n \n private handleInput() {\n this.emit('input');\n }\n \n private handleFocus() {\n this.hasFocus = true;\n this.emit('focus');\n }\n \n @watch(['checked', 'indeterminate'], { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.input.checked = this.checked; // force a sync update\n this.input.indeterminate = this.indeterminate; // force a sync update\n }\n \n /** Simulates a click on the checkbox. */\n click() {\n this.input.click();\n }\n \n /** Sets focus on the checkbox. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n \n /** Removes focus from the checkbox. */\n blur() {\n this.input.blur();\n }\n \n connectedCallback() {\n super.connectedCallback();\n this.updateHostClass();\n this.emit('nile-init');\n }\n \n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n \n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('helpText')) {\n this.updateHostClass();\n }\n }\n \n private updateHostClass() {\n if (this.helpText) {\n this.classList.add('full-width');\n } else {\n this.classList.remove('full-width');\n }\n }\n \n render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n \n return html`\n <label\n part=\"base\"\n class=${classMap({\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--indeterminate': this.indeterminate,\n 'checkbox--medium': this.size === 'medium',\n })}\n >\n <input\n class=\"checkbox__input\"\n type=\"checkbox\"\n title=${\n this\n .title /* An empty title prevents browser validation tooltips from appearing on hover */\n }\n name=${this.name}\n value=${ifDefined(this.value)}\n .indeterminate=${live(this.indeterminate)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${this.handleClick}\n @input=${this.handleInput}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n \n <span\n part=\"control${this.checked ? ' control--checked' : ''}${this\n .indeterminate\n ? ' control--indeterminate'\n : ''}\"\n class=\"checkbox__control\"\n >\n ${this.checked\n ? html`\n <nile-icon\n part=\"checked-icon\"\n class=\"checkbox__checked-icon\"\n color=\"white\"\n library=\"system\"\n name=\"tick\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n ${!this.checked && this.indeterminate\n ? html`\n <nile-icon\n part=\"indeterminate-icon\"\n class=\"checkbox__indeterminate-icon\"\n library=\"system\"\n color=\"white\"\n name=\"minus\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n </span>\n \n <div part=\"label\" class=\"checkbox__label\">\n ${typeof this.label === 'boolean' ? '' : this.label}\n <slot></slot>\n </div>\n </label>\n \n ${hasHelpText\n ? html`\n <nile-tooltip content=\"${this.helpText}\" placement=\"bottom\">\n <nile-icon\n name=\"question\"\n class=\"checkbox__helptext-icon\"\n ></nile-icon>\n </nile-tooltip>\n `\n : ``}\n \n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n \nexport default NileCheckbox;\n \ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-checkbox': NileCheckbox;\n }\n}"]}
1
+ {"version":3,"file":"nile-checkbox.js","sourceRoot":"","sources":["../../../src/nile-checkbox/nile-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n \nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-checkbox.css';\n \nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\n \n/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n *\n * @dependency nile-icon\n *\n * @slot - The checkbox's label.\n *\n * @event nile-blur - Emitted when the checkbox loses focus.\n * @event nile-change - Emitted when the checked state changes.\n * @event nile-focus - Emitted when the checkbox gains focus.\n * @event nile-input - Emitted when the checkbox receives input.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<nile-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<nile-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n */\n \n/**\n * Nile icon component.\n *\n * @tag nile-checkbox\n *\n */\n@customElement('nile-checkbox')\nexport class NileCheckbox extends NileElement {\n constructor() {\n super();\n }\n \n static styles: CSSResultGroup = styles;\n\n protected override BUBBLES: boolean=false;\n \n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n \n @state() private hasFocus = false;\n \n @property() title = ''; // make reactive to pass through\n \n /** The name of the checkbox, submitted as a name/value pair with form data. */\n @property() name = '';\n \n /** The current value of the checkbox, submitted as a name/value pair with form data. */\n @property() value: boolean;\n \n /** The checkbox's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n \n /** Disables the checkbox. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n \n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n \n /** Label, declared this property for backward compatibility of old component */\n @property({ type: String, reflect: true }) label = '';\n \n /**\n * Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\n * all/none\" behavior when associated checkboxes have a mix of checked and unchecked states.\n */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n \n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n \n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n \n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n \n @property({ type: Boolean }) showHelpText = false;\n \n \n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n \n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n \n private toggleHelpText() {\n this.showHelpText = !this.showHelpText;\n }\n \n private handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.emit('nile-change',{checked: this.checked})\n this.emit('valueChange',{checked: this.checked})\n }\n \n private handleBlur() {\n this.hasFocus = false;\n this.emit('blur');\n }\n \n private handleInput() {\n this.emit('input');\n }\n \n private handleFocus() {\n this.hasFocus = true;\n this.emit('focus');\n }\n \n @watch(['checked', 'indeterminate'], { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.input.checked = this.checked; // force a sync update\n this.input.indeterminate = this.indeterminate; // force a sync update\n }\n \n /** Simulates a click on the checkbox. */\n click() {\n this.input.click();\n }\n \n /** Sets focus on the checkbox. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n \n /** Removes focus from the checkbox. */\n blur() {\n this.input.blur();\n }\n \n connectedCallback() {\n super.connectedCallback();\n this.updateHostClass();\n this.emit('nile-init');\n }\n \n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n \n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('helpText')) {\n this.updateHostClass();\n }\n }\n \n private updateHostClass() {\n if (this.helpText) {\n this.classList.add('full-width');\n } else {\n this.classList.remove('full-width');\n }\n }\n \n render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n \n return html`\n <label\n part=\"base\"\n class=${classMap({\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--indeterminate': this.indeterminate,\n 'checkbox--medium': this.size === 'medium',\n })}\n >\n <input\n class=\"checkbox__input\"\n type=\"checkbox\"\n title=${\n this\n .title /* An empty title prevents browser validation tooltips from appearing on hover */\n }\n name=${this.name}\n value=${ifDefined(this.value)}\n .indeterminate=${live(this.indeterminate)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${this.handleClick}\n @input=${this.handleInput}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n \n <span\n part=\"control${this.checked ? ' control--checked' : ''}${this\n .indeterminate\n ? ' control--indeterminate'\n : ''}\"\n class=\"checkbox__control\"\n >\n ${this.checked\n ? html`\n <nile-icon\n part=\"checked-icon\"\n class=\"checkbox__checked-icon\"\n color=\"white\"\n library=\"system\"\n name=\"tick\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n ${!this.checked && this.indeterminate\n ? html`\n <nile-icon\n part=\"indeterminate-icon\"\n class=\"checkbox__indeterminate-icon\"\n library=\"system\"\n color=\"white\"\n name=\"minus\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n </span>\n \n <div part=\"label\" class=\"checkbox__label\">\n ${typeof this.label === 'boolean' ? '' : this.label}\n <slot></slot>\n </div>\n </label>\n \n ${hasHelpText\n ? html`\n <nile-tooltip content=\"${this.helpText}\" placement=\"bottom\">\n <nile-icon\n name=\"question\"\n class=\"checkbox__helptext-icon\"\n ></nile-icon>\n </nile-tooltip>\n `\n : ``}\n \n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n \nexport default NileCheckbox;\n \ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-checkbox': NileCheckbox;\n }\n}"]}
@@ -8,6 +8,7 @@ import { CSSResultArray, TemplateResult } from 'lit-element';
8
8
  import NileElement from '../internal/nile-element';
9
9
  export declare class NileChip extends NileElement {
10
10
  static get styles(): CSSResultArray;
11
+ protected BUBBLES: boolean;
11
12
  private readonly hasSlotController;
12
13
  tags: string[];
13
14
  inputValue: string;
@@ -15,6 +15,7 @@ import NileElement from '../internal/nile-element';
15
15
  let NileChip = class NileChip extends NileElement {
16
16
  constructor() {
17
17
  super(...arguments);
18
+ this.BUBBLES = false;
18
19
  this.hasSlotController = new HasSlotController(this, 'help-text', 'label');
19
20
  this.tags = [];
20
21
  this.inputValue = '';
@@ -186,6 +187,10 @@ let NileChip = class NileChip extends NileElement {
186
187
  `)}
187
188
  <div class="nile-chip__auto-complete">
188
189
  <nile-auto-complete
190
+ @nile-show="${(e) => this.emit('nile-show')}"
191
+ @nile-after-show="${(e) => this.emit('nile-after-show')}"
192
+ @nile-hide="${(e) => this.emit('nile-hide')}"
193
+ @nile-after-hide="${(e) => this.emit('nile-after-hide')}"
189
194
  .allMenuItems=${this.filteredAutoCompleteOptions}
190
195
  .value=${this.inputValue}
191
196
  ?isDropdownOpen=${this.isDropdownOpen}