@aquera/nile-elements 0.0.121 → 0.0.122

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 (510) hide show
  1. package/README.md +5 -0
  2. package/dist/abap-511af2a5.cjs.js +2 -0
  3. package/dist/abap-511af2a5.cjs.js.map +1 -0
  4. package/dist/abap-f2ab40d0.esm.js +1 -0
  5. package/dist/{angular-ts-32bbcd01.cjs.js → angular-ts-a70761c6.cjs.js} +2 -2
  6. package/dist/{angular-ts-32bbcd01.cjs.js.map → angular-ts-a70761c6.cjs.js.map} +1 -1
  7. package/dist/cairo-014ad724.cjs.js +2 -0
  8. package/dist/cairo-014ad724.cjs.js.map +1 -0
  9. package/dist/cairo-9be40999.esm.js +1 -0
  10. package/dist/catppuccin-frappe-52a52bb1.cjs.js +2 -0
  11. package/dist/catppuccin-frappe-52a52bb1.cjs.js.map +1 -0
  12. package/dist/catppuccin-frappe-dbc3161e.esm.js +1 -0
  13. package/dist/catppuccin-latte-d8a0f6a8.cjs.js +2 -0
  14. package/dist/catppuccin-latte-d8a0f6a8.cjs.js.map +1 -0
  15. package/dist/catppuccin-latte-e7591143.esm.js +1 -0
  16. package/dist/catppuccin-macchiato-19a7795e.cjs.js +2 -0
  17. package/dist/catppuccin-macchiato-19a7795e.cjs.js.map +1 -0
  18. package/dist/catppuccin-macchiato-283b424a.esm.js +1 -0
  19. package/dist/catppuccin-mocha-165e830c.esm.js +1 -0
  20. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js +2 -0
  21. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js.map +1 -0
  22. package/dist/cobol-8517cfc1.esm.js +1 -0
  23. package/dist/cobol-922d57ed.cjs.js +2 -0
  24. package/dist/cobol-922d57ed.cjs.js.map +1 -0
  25. package/dist/{cpp-c2442fe2.cjs.js → cpp-8812199e.cjs.js} +2 -2
  26. package/dist/{cpp-c2442fe2.cjs.js.map → cpp-8812199e.cjs.js.map} +1 -1
  27. package/dist/{crystal-1913e34d.cjs.js → crystal-5458e62a.cjs.js} +2 -2
  28. package/dist/{crystal-1913e34d.cjs.js.map → crystal-5458e62a.cjs.js.map} +1 -1
  29. package/dist/{edge-ef9e682b.cjs.js → edge-cb04b11b.cjs.js} +2 -2
  30. package/dist/{edge-ef9e682b.cjs.js.map → edge-cb04b11b.cjs.js.map} +1 -1
  31. package/dist/{elm-7fd07d47.cjs.js → elm-53a0b5b4.cjs.js} +2 -2
  32. package/dist/{elm-7fd07d47.cjs.js.map → elm-53a0b5b4.cjs.js.map} +1 -1
  33. package/dist/{erb-c813c1f2.cjs.js → erb-1bc4721c.cjs.js} +2 -2
  34. package/dist/{erb-c813c1f2.cjs.js.map → erb-1bc4721c.cjs.js.map} +1 -1
  35. package/dist/{fortran-fixed-form-c39bf051.cjs.js → fortran-fixed-form-00a9d08f.cjs.js} +2 -2
  36. package/dist/{fortran-fixed-form-c39bf051.cjs.js.map → fortran-fixed-form-00a9d08f.cjs.js.map} +1 -1
  37. package/dist/{fsharp-ba007c9c.cjs.js → fsharp-661f4f18.cjs.js} +2 -2
  38. package/dist/{fsharp-ba007c9c.cjs.js.map → fsharp-661f4f18.cjs.js.map} +1 -1
  39. package/dist/{gdresource-f3068367.cjs.js → gdresource-8fb6a6ad.cjs.js} +2 -2
  40. package/dist/{gdresource-f3068367.cjs.js.map → gdresource-8fb6a6ad.cjs.js.map} +1 -1
  41. package/dist/{git-commit-372b638c.cjs.js → git-commit-9373b48b.cjs.js} +2 -2
  42. package/dist/{git-commit-372b638c.cjs.js.map → git-commit-9373b48b.cjs.js.map} +1 -1
  43. package/dist/{git-rebase-2cc6f2a3.cjs.js → git-rebase-c3fa2bb9.cjs.js} +2 -2
  44. package/dist/{git-rebase-2cc6f2a3.cjs.js.map → git-rebase-c3fa2bb9.cjs.js.map} +1 -1
  45. package/dist/go-85139440.esm.js +1 -0
  46. package/dist/go-d5ed1b82.cjs.js +2 -0
  47. package/dist/go-d5ed1b82.cjs.js.map +1 -0
  48. package/dist/{graphql-74f146e1.cjs.js → graphql-1541cb3c.cjs.js} +2 -2
  49. package/dist/{graphql-74f146e1.cjs.js.map → graphql-1541cb3c.cjs.js.map} +1 -1
  50. package/dist/{handlebars-864fcb12.cjs.js → handlebars-39ab86cd.cjs.js} +2 -2
  51. package/dist/{handlebars-864fcb12.cjs.js.map → handlebars-39ab86cd.cjs.js.map} +1 -1
  52. package/dist/{http-08501497.cjs.js → http-1cf9a3de.cjs.js} +2 -2
  53. package/dist/{http-08501497.cjs.js.map → http-1cf9a3de.cjs.js.map} +1 -1
  54. package/dist/{hxml-bbac80e4.cjs.js → hxml-6d54d760.cjs.js} +2 -2
  55. package/dist/{hxml-bbac80e4.cjs.js.map → hxml-6d54d760.cjs.js.map} +1 -1
  56. package/dist/hy-33aa9c6f.cjs.js +2 -0
  57. package/dist/hy-33aa9c6f.cjs.js.map +1 -0
  58. package/dist/hy-a7a6e9c3.esm.js +1 -0
  59. package/dist/{julia-689ac552.cjs.js → julia-0152d8b9.cjs.js} +2 -2
  60. package/dist/{julia-689ac552.cjs.js.map → julia-0152d8b9.cjs.js.map} +1 -1
  61. package/dist/{latex-4d76e817.cjs.js → latex-33ebd2ce.cjs.js} +2 -2
  62. package/dist/{latex-4d76e817.cjs.js.map → latex-33ebd2ce.cjs.js.map} +1 -1
  63. package/dist/luau-19444703.cjs.js +2 -0
  64. package/dist/luau-19444703.cjs.js.map +1 -0
  65. package/dist/luau-b564b070.esm.js +1 -0
  66. package/dist/{marko-2880d4ee.cjs.js → marko-23ca6223.cjs.js} +2 -2
  67. package/dist/{marko-2880d4ee.cjs.js.map → marko-23ca6223.cjs.js.map} +1 -1
  68. package/dist/mdc-05d87356.esm.js +1 -0
  69. package/dist/mdc-56aefda2.cjs.js +2 -0
  70. package/dist/mdc-56aefda2.cjs.js.map +1 -0
  71. package/dist/{mdx-a859ee84.cjs.js → mdx-01dab0d1.cjs.js} +2 -2
  72. package/dist/{mdx-a859ee84.cjs.js.map → mdx-01dab0d1.cjs.js.map} +1 -1
  73. package/dist/{mdx-bf2a8fe9.esm.js → mdx-0782bcd8.esm.js} +1 -1
  74. package/dist/nextflow-11e4899f.esm.js +1 -0
  75. package/dist/nextflow-2a4bf0cc.cjs.js +2 -0
  76. package/dist/nextflow-2a4bf0cc.cjs.js.map +1 -0
  77. package/dist/{nginx-7bc0fc82.cjs.js → nginx-1aabec59.cjs.js} +2 -2
  78. package/dist/{nginx-7bc0fc82.cjs.js.map → nginx-1aabec59.cjs.js.map} +1 -1
  79. package/dist/nile-accordion/nile-accordion.cjs.js +1 -1
  80. package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -1
  81. package/dist/nile-accordion/nile-accordion.esm.js +1 -1
  82. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  83. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  84. package/dist/nile-auto-complete/nile-auto-complete.esm.js +6 -15
  85. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  86. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  87. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  88. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  89. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  90. package/dist/nile-badge/nile-badge.esm.js +1 -1
  91. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
  92. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
  93. package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
  94. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
  95. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
  96. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +2 -2
  97. package/dist/nile-button/nile-button.cjs.js +1 -1
  98. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  99. package/dist/nile-button/nile-button.esm.js +1 -1
  100. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  101. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
  102. package/dist/nile-button-toggle/nile-button-toggle.esm.js +1 -1
  103. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  104. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
  105. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
  106. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  107. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  108. package/dist/nile-calendar/nile-calendar.esm.js +3 -3
  109. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  110. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  111. package/dist/nile-calendar/nile-calendar.test.esm.js +9 -5
  112. package/dist/nile-card/nile-card.cjs.js +1 -1
  113. package/dist/nile-card/nile-card.cjs.js.map +1 -1
  114. package/dist/nile-card/nile-card.esm.js +1 -1
  115. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  116. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  117. package/dist/nile-checkbox/nile-checkbox.esm.js +1 -1
  118. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  119. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  120. package/dist/nile-chip/nile-chip.esm.js +2 -6
  121. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  122. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  123. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  124. package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
  125. package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
  126. package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
  127. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  128. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  129. package/dist/nile-date-picker/nile-date-picker.esm.js +8 -15
  130. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  131. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  132. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  133. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  134. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  135. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  136. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  137. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  138. package/dist/nile-empty-state/nile-empty-state.esm.js +1 -1
  139. package/dist/nile-form-help-text/nile-form-help-text.cjs.js +1 -1
  140. package/dist/nile-form-help-text/nile-form-help-text.cjs.js.map +1 -1
  141. package/dist/nile-form-help-text/nile-form-help-text.esm.js +5 -4
  142. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +2 -0
  143. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js.map +1 -0
  144. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -0
  145. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  146. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  147. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  148. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  149. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  150. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  151. package/dist/nile-input/nile-input.cjs.js +1 -1
  152. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  153. package/dist/nile-input/nile-input.esm.js +1 -1
  154. package/dist/nile-link/nile-link.cjs.js +1 -1
  155. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  156. package/dist/nile-link/nile-link.esm.js +1 -1
  157. package/dist/nile-list/nile-list.cjs.js +1 -1
  158. package/dist/nile-list/nile-list.cjs.js.map +1 -1
  159. package/dist/nile-list/nile-list.esm.js +1 -1
  160. package/dist/nile-list-item/nile-list-item.cjs.js +1 -1
  161. package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -1
  162. package/dist/nile-list-item/nile-list-item.esm.js +1 -1
  163. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  164. package/dist/nile-loader/nile-loader.test.cjs.js.map +1 -1
  165. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  166. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  167. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  168. package/dist/nile-menu/nile-menu.esm.js +2 -5
  169. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  170. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  171. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  172. package/dist/nile-option/nile-option.cjs.js +1 -1
  173. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  174. package/dist/nile-option/nile-option.esm.js +1 -1
  175. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  176. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  177. package/dist/nile-popover/nile-popover.esm.js +4 -4
  178. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  179. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  180. package/dist/nile-popup/nile-popup.esm.js +1 -1
  181. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  182. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  183. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  184. package/dist/nile-select/nile-select.cjs.js +1 -1
  185. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  186. package/dist/nile-select/nile-select.esm.js +4 -6
  187. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  188. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  189. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +1 -1
  190. package/dist/nile-split-panel/nile-split-panel.cjs.js +1 -1
  191. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -1
  192. package/dist/nile-split-panel/nile-split-panel.esm.js +1 -1
  193. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  194. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  195. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  196. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  197. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  198. package/dist/nile-tab/nile-tab.esm.js +1 -1
  199. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  200. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  201. package/dist/nile-tab-group/nile-tab-group.esm.js +4 -4
  202. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  203. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  204. package/dist/nile-tab-group/nile-tab-group.test.esm.js +13 -5
  205. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  206. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  207. package/dist/nile-table-body/nile-table-body.esm.js +1 -1
  208. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  209. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  210. package/dist/nile-tag/nile-tag.esm.js +1 -1
  211. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  212. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  213. package/dist/nile-textarea/nile-textarea.esm.js +1 -1
  214. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  215. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  216. package/dist/nile-toast/nile-toast.esm.js +1 -1
  217. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  218. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  219. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  220. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  221. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  222. package/dist/nile-tree/nile-tree.esm.js +1 -1
  223. package/dist/{nim-1cf0460c.cjs.js → nim-55b3acf7.cjs.js} +2 -2
  224. package/dist/{nim-1cf0460c.cjs.js.map → nim-55b3acf7.cjs.js.map} +1 -1
  225. package/dist/one-dark-pro-3bcc58f7.cjs.js +2 -0
  226. package/dist/one-dark-pro-3bcc58f7.cjs.js.map +1 -0
  227. package/dist/one-dark-pro-4fce25f8.esm.js +1 -0
  228. package/dist/{razor-0acc551a.cjs.js → razor-57f13c4a.cjs.js} +2 -2
  229. package/dist/{razor-0acc551a.cjs.js.map → razor-57f13c4a.cjs.js.map} +1 -1
  230. package/dist/{rst-6b792481.cjs.js → rst-4226018b.cjs.js} +2 -2
  231. package/dist/{rst-6b792481.cjs.js.map → rst-4226018b.cjs.js.map} +1 -1
  232. package/dist/{ruby-578b1ee6.cjs.js → ruby-4306ddd1.cjs.js} +2 -2
  233. package/dist/{ruby-578b1ee6.cjs.js.map → ruby-4306ddd1.cjs.js.map} +1 -1
  234. package/dist/{shaderlab-606f022b.cjs.js → shaderlab-2234cd06.cjs.js} +2 -2
  235. package/dist/{shaderlab-606f022b.cjs.js.map → shaderlab-2234cd06.cjs.js.map} +1 -1
  236. package/dist/{shellsession-cb0df007.cjs.js → shellsession-cd95727e.cjs.js} +2 -2
  237. package/dist/{shellsession-cb0df007.cjs.js.map → shellsession-cd95727e.cjs.js.map} +1 -1
  238. package/dist/{sparql-589e0308.cjs.js → sparql-197a828d.cjs.js} +2 -2
  239. package/dist/{sparql-589e0308.cjs.js.map → sparql-197a828d.cjs.js.map} +1 -1
  240. package/dist/src/nile-accordion/nile-accordion.d.ts +0 -1
  241. package/dist/src/nile-accordion/nile-accordion.js +0 -1
  242. package/dist/src/nile-accordion/nile-accordion.js.map +1 -1
  243. package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +0 -1
  244. package/dist/src/nile-auto-complete/nile-auto-complete.js +2 -12
  245. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  246. package/dist/src/nile-avatar/nile-avatar.d.ts +0 -1
  247. package/dist/src/nile-avatar/nile-avatar.js +0 -1
  248. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  249. package/dist/src/nile-badge/nile-badge.d.ts +0 -1
  250. package/dist/src/nile-badge/nile-badge.js +0 -1
  251. package/dist/src/nile-badge/nile-badge.js.map +1 -1
  252. package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +0 -1
  253. package/dist/src/nile-breadcrumb/nile-breadcrumb.js +0 -5
  254. package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
  255. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +0 -1
  256. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +0 -1
  257. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
  258. package/dist/src/nile-button/nile-button.d.ts +0 -1
  259. package/dist/src/nile-button/nile-button.js +0 -1
  260. package/dist/src/nile-button/nile-button.js.map +1 -1
  261. package/dist/src/nile-button-toggle/nile-button-toggle.d.ts +0 -1
  262. package/dist/src/nile-button-toggle/nile-button-toggle.js +0 -1
  263. package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
  264. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +0 -1
  265. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +0 -1
  266. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
  267. package/dist/src/nile-calendar/nile-calendar.d.ts +1 -9
  268. package/dist/src/nile-calendar/nile-calendar.js +1 -55
  269. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  270. package/dist/src/nile-calendar/nile-calendar.test.js +50 -5
  271. package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
  272. package/dist/src/nile-card/nile-card.d.ts +0 -1
  273. package/dist/src/nile-card/nile-card.js +0 -1
  274. package/dist/src/nile-card/nile-card.js.map +1 -1
  275. package/dist/src/nile-checkbox/nile-checkbox.d.ts +0 -1
  276. package/dist/src/nile-checkbox/nile-checkbox.js +0 -1
  277. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  278. package/dist/src/nile-chip/nile-chip.d.ts +0 -1
  279. package/dist/src/nile-chip/nile-chip.js +0 -5
  280. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  281. package/dist/src/nile-code-editor/nile-code-editor.d.ts +0 -1
  282. package/dist/src/nile-code-editor/nile-code-editor.js +0 -1
  283. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  284. package/dist/src/nile-content-editor/nile-content-editor.d.ts +0 -1
  285. package/dist/src/nile-content-editor/nile-content-editor.js +0 -1
  286. package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -1
  287. package/dist/src/nile-date-picker/nile-date-picker.d.ts +0 -1
  288. package/dist/src/nile-date-picker/nile-date-picker.js +7 -14
  289. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  290. package/dist/src/nile-dialog/nile-dialog.d.ts +0 -1
  291. package/dist/src/nile-dialog/nile-dialog.js +0 -1
  292. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  293. package/dist/src/nile-drawer/nile-drawer.d.ts +0 -1
  294. package/dist/src/nile-drawer/nile-drawer.js +0 -1
  295. package/dist/src/nile-drawer/nile-drawer.js.map +1 -1
  296. package/dist/src/nile-empty-state/nile-empty-state.d.ts +0 -1
  297. package/dist/src/nile-empty-state/nile-empty-state.js +0 -1
  298. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  299. package/dist/src/nile-form-help-text/nile-form-help-text.d.ts +2 -0
  300. package/dist/src/nile-form-help-text/nile-form-help-text.js +14 -6
  301. package/dist/src/nile-form-help-text/nile-form-help-text.js.map +1 -1
  302. package/dist/src/nile-form-help-text/nile-form-help-text.test.d.ts +1 -0
  303. package/dist/src/nile-form-help-text/nile-form-help-text.test.js +67 -0
  304. package/dist/src/nile-form-help-text/nile-form-help-text.test.js.map +1 -0
  305. package/dist/src/nile-icon-button/nile-icon-button.d.ts +0 -1
  306. package/dist/src/nile-icon-button/nile-icon-button.js +0 -1
  307. package/dist/src/nile-icon-button/nile-icon-button.js.map +1 -1
  308. package/dist/src/nile-input/nile-input.d.ts +0 -1
  309. package/dist/src/nile-input/nile-input.js +0 -1
  310. package/dist/src/nile-input/nile-input.js.map +1 -1
  311. package/dist/src/nile-link/nile-link.d.ts +0 -1
  312. package/dist/src/nile-link/nile-link.js +0 -1
  313. package/dist/src/nile-link/nile-link.js.map +1 -1
  314. package/dist/src/nile-list/nile-list.d.ts +0 -1
  315. package/dist/src/nile-list/nile-list.js +0 -5
  316. package/dist/src/nile-list/nile-list.js.map +1 -1
  317. package/dist/src/nile-list-item/nile-list-item.d.ts +0 -1
  318. package/dist/src/nile-list-item/nile-list-item.js +0 -1
  319. package/dist/src/nile-list-item/nile-list-item.js.map +1 -1
  320. package/dist/src/nile-loader/nile-loader.test.js +5 -0
  321. package/dist/src/nile-loader/nile-loader.test.js.map +1 -1
  322. package/dist/src/nile-menu/nile-menu.d.ts +0 -1
  323. package/dist/src/nile-menu/nile-menu.js +0 -4
  324. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  325. package/dist/src/nile-menu-item/nile-menu-item.d.ts +0 -2
  326. package/dist/src/nile-menu-item/nile-menu-item.js +0 -2
  327. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  328. package/dist/src/nile-option/nile-option.d.ts +0 -2
  329. package/dist/src/nile-option/nile-option.js +0 -2
  330. package/dist/src/nile-option/nile-option.js.map +1 -1
  331. package/dist/src/nile-popover/nile-popover.d.ts +0 -1
  332. package/dist/src/nile-popover/nile-popover.js +0 -1
  333. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  334. package/dist/src/nile-popup/nile-popup.d.ts +0 -2
  335. package/dist/src/nile-popup/nile-popup.js +0 -2
  336. package/dist/src/nile-popup/nile-popup.js.map +1 -1
  337. package/dist/src/nile-radio-group/nile-radio-group.d.ts +0 -1
  338. package/dist/src/nile-radio-group/nile-radio-group.js +0 -1
  339. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  340. package/dist/src/nile-select/nile-select.d.ts +0 -1
  341. package/dist/src/nile-select/nile-select.js +3 -6
  342. package/dist/src/nile-select/nile-select.js.map +1 -1
  343. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +0 -1
  344. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +0 -1
  345. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  346. package/dist/src/nile-split-panel/nile-split-panel.d.ts +0 -1
  347. package/dist/src/nile-split-panel/nile-split-panel.js +0 -1
  348. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -1
  349. package/dist/src/nile-stepper/nile-stepper.d.ts +0 -1
  350. package/dist/src/nile-stepper/nile-stepper.js +0 -1
  351. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  352. package/dist/src/nile-tab/nile-tab.d.ts +0 -1
  353. package/dist/src/nile-tab/nile-tab.js +0 -1
  354. package/dist/src/nile-tab/nile-tab.js.map +1 -1
  355. package/dist/src/nile-tab-group/nile-tab-group.d.ts +1 -2
  356. package/dist/src/nile-tab-group/nile-tab-group.js +5 -10
  357. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  358. package/dist/src/nile-tab-group/nile-tab-group.test.js +56 -22
  359. package/dist/src/nile-tab-group/nile-tab-group.test.js.map +1 -1
  360. package/dist/src/nile-table-body/nile-table-body.d.ts +0 -1
  361. package/dist/src/nile-table-body/nile-table-body.js +0 -1
  362. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  363. package/dist/src/nile-tag/nile-tag.d.ts +0 -1
  364. package/dist/src/nile-tag/nile-tag.js +0 -1
  365. package/dist/src/nile-tag/nile-tag.js.map +1 -1
  366. package/dist/src/nile-textarea/nile-textarea.d.ts +0 -1
  367. package/dist/src/nile-textarea/nile-textarea.js +0 -1
  368. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  369. package/dist/src/nile-toast/nile-toast.d.ts +0 -1
  370. package/dist/src/nile-toast/nile-toast.js +0 -1
  371. package/dist/src/nile-toast/nile-toast.js.map +1 -1
  372. package/dist/src/nile-tooltip/nile-tooltip.d.ts +0 -1
  373. package/dist/src/nile-tooltip/nile-tooltip.js +0 -1
  374. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  375. package/dist/src/nile-tree/nile-tree.d.ts +0 -1
  376. package/dist/src/nile-tree/nile-tree.js +0 -1
  377. package/dist/src/nile-tree/nile-tree.js.map +1 -1
  378. package/dist/{svelte-2ae868b6.cjs.js → svelte-5a90df12.cjs.js} +2 -2
  379. package/dist/{svelte-2ae868b6.cjs.js.map → svelte-5a90df12.cjs.js.map} +1 -1
  380. package/dist/{svelte-ac03a3ac.esm.js → svelte-cb8564e6.esm.js} +1 -1
  381. package/dist/{system-verilog-7d2d7268.cjs.js → system-verilog-b3e652eb.cjs.js} +2 -2
  382. package/dist/{system-verilog-7d2d7268.cjs.js.map → system-verilog-b3e652eb.cjs.js.map} +1 -1
  383. package/dist/{system-verilog-2d49210f.esm.js → system-verilog-c1c6377f.esm.js} +1 -1
  384. package/dist/{templ-f2d0dadd.esm.js → templ-13492ead.esm.js} +1 -1
  385. package/dist/{templ-2a2d64b7.cjs.js → templ-4425132d.cjs.js} +2 -2
  386. package/dist/{templ-2a2d64b7.cjs.js.map → templ-4425132d.cjs.js.map} +1 -1
  387. package/dist/{tex-8addc455.cjs.js → tex-d609b400.cjs.js} +2 -2
  388. package/dist/{tex-8addc455.cjs.js.map → tex-d609b400.cjs.js.map} +1 -1
  389. package/dist/{ts-tags-e56ee3ee.cjs.js → ts-tags-ba7eb9e3.cjs.js} +2 -2
  390. package/dist/{ts-tags-e56ee3ee.cjs.js.map → ts-tags-ba7eb9e3.cjs.js.map} +1 -1
  391. package/dist/tsconfig.tsbuildinfo +1 -1
  392. package/dist/{twig-911808dc.cjs.js → twig-e9bb57f2.cjs.js} +2 -2
  393. package/dist/{twig-911808dc.cjs.js.map → twig-e9bb57f2.cjs.js.map} +1 -1
  394. package/dist/{vue-9b06428b.cjs.js → vue-16d91bfa.cjs.js} +2 -2
  395. package/dist/{vue-9b06428b.cjs.js.map → vue-16d91bfa.cjs.js.map} +1 -1
  396. package/dist/{vue-html-ca1dd5bf.cjs.js → vue-html-432cdd7f.cjs.js} +2 -2
  397. package/dist/{vue-html-ca1dd5bf.cjs.js.map → vue-html-432cdd7f.cjs.js.map} +1 -1
  398. package/dist/wikitext-2748811a.cjs.js +2 -0
  399. package/dist/wikitext-2748811a.cjs.js.map +1 -0
  400. package/dist/wikitext-c9071578.esm.js +1 -0
  401. package/package.json +2 -2
  402. package/src/nile-accordion/nile-accordion.ts +0 -1
  403. package/src/nile-auto-complete/nile-auto-complete.ts +2 -13
  404. package/src/nile-avatar/nile-avatar.ts +0 -2
  405. package/src/nile-badge/nile-badge.ts +0 -2
  406. package/src/nile-breadcrumb/nile-breadcrumb.ts +0 -2
  407. package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +0 -2
  408. package/src/nile-button/nile-button.ts +0 -2
  409. package/src/nile-button-toggle/nile-button-toggle.ts +0 -2
  410. package/src/nile-button-toggle-group/nile-button-toggle-group.ts +0 -2
  411. package/src/nile-calendar/nile-calendar.test.ts +64 -5
  412. package/src/nile-calendar/nile-calendar.ts +2 -69
  413. package/src/nile-card/nile-card.ts +0 -2
  414. package/src/nile-checkbox/nile-checkbox.ts +0 -2
  415. package/src/nile-chip/nile-chip.ts +0 -6
  416. package/src/nile-code-editor/nile-code-editor.ts +0 -2
  417. package/src/nile-content-editor/nile-content-editor.ts +0 -2
  418. package/src/nile-date-picker/nile-date-picker.ts +7 -15
  419. package/src/nile-dialog/nile-dialog.ts +0 -2
  420. package/src/nile-drawer/nile-drawer.ts +0 -2
  421. package/src/nile-empty-state/nile-empty-state.ts +0 -2
  422. package/src/nile-form-help-text/nile-form-help-text.test.ts +86 -0
  423. package/src/nile-form-help-text/nile-form-help-text.ts +17 -15
  424. package/src/nile-icon-button/nile-icon-button.ts +0 -2
  425. package/src/nile-input/nile-input.ts +0 -2
  426. package/src/nile-link/nile-link.ts +0 -2
  427. package/src/nile-list/nile-list.ts +0 -2
  428. package/src/nile-list-item/nile-list-item.ts +0 -2
  429. package/src/nile-loader/nile-loader.test.ts +6 -0
  430. package/src/nile-menu/nile-menu.ts +0 -6
  431. package/src/nile-menu-item/nile-menu-item.ts +0 -3
  432. package/src/nile-option/nile-option.ts +0 -3
  433. package/src/nile-popover/nile-popover.ts +0 -2
  434. package/src/nile-popup/nile-popup.ts +0 -3
  435. package/src/nile-radio-group/nile-radio-group.ts +0 -2
  436. package/src/nile-select/nile-select.ts +3 -7
  437. package/src/nile-slide-toggle/nile-slide-toggle.ts +0 -2
  438. package/src/nile-split-panel/nile-split-panel.ts +0 -2
  439. package/src/nile-stepper/nile-stepper.ts +0 -2
  440. package/src/nile-tab/nile-tab.ts +0 -2
  441. package/src/nile-tab-group/nile-tab-group.test.ts +71 -29
  442. package/src/nile-tab-group/nile-tab-group.ts +6 -14
  443. package/src/nile-table-body/nile-table-body.ts +0 -2
  444. package/src/nile-tag/nile-tag.ts +0 -2
  445. package/src/nile-textarea/nile-textarea.ts +0 -2
  446. package/src/nile-toast/nile-toast.ts +0 -2
  447. package/src/nile-tooltip/nile-tooltip.ts +0 -2
  448. package/src/nile-tree/nile-tree.ts +0 -2
  449. package/tsconfig.json +1 -0
  450. package/vscode-html-custom-data.json +3717 -60
  451. package/dist/abap-1e9762d1.esm.js +0 -1
  452. package/dist/abap-3b3fe406.cjs.js +0 -2
  453. package/dist/abap-3b3fe406.cjs.js.map +0 -1
  454. package/dist/catppuccin-frappe-c0734345.esm.js +0 -1
  455. package/dist/catppuccin-frappe-eb77e95d.cjs.js +0 -2
  456. package/dist/catppuccin-frappe-eb77e95d.cjs.js.map +0 -1
  457. package/dist/catppuccin-latte-471f76fc.cjs.js +0 -2
  458. package/dist/catppuccin-latte-471f76fc.cjs.js.map +0 -1
  459. package/dist/catppuccin-latte-d798493f.esm.js +0 -1
  460. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js +0 -2
  461. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js.map +0 -1
  462. package/dist/catppuccin-macchiato-d78b2ec2.esm.js +0 -1
  463. package/dist/catppuccin-mocha-3b00f8d6.cjs.js +0 -2
  464. package/dist/catppuccin-mocha-3b00f8d6.cjs.js.map +0 -1
  465. package/dist/catppuccin-mocha-6a189a57.esm.js +0 -1
  466. package/dist/cobol-4ed2b235.esm.js +0 -1
  467. package/dist/cobol-c428fca2.cjs.js +0 -2
  468. package/dist/cobol-c428fca2.cjs.js.map +0 -1
  469. package/dist/go-4c55ae2b.esm.js +0 -1
  470. package/dist/go-9bee484b.cjs.js +0 -2
  471. package/dist/go-9bee484b.cjs.js.map +0 -1
  472. package/dist/hy-431f15f8.cjs.js +0 -2
  473. package/dist/hy-431f15f8.cjs.js.map +0 -1
  474. package/dist/hy-5e43d6c1.esm.js +0 -1
  475. package/dist/luau-0b166b7a.cjs.js +0 -2
  476. package/dist/luau-0b166b7a.cjs.js.map +0 -1
  477. package/dist/luau-7d7eaa97.esm.js +0 -1
  478. package/dist/mdc-13285ad6.esm.js +0 -1
  479. package/dist/mdc-a3fe82c5.cjs.js +0 -2
  480. package/dist/mdc-a3fe82c5.cjs.js.map +0 -1
  481. package/dist/nextflow-35e5a63d.esm.js +0 -1
  482. package/dist/nextflow-c666e91b.cjs.js +0 -2
  483. package/dist/nextflow-c666e91b.cjs.js.map +0 -1
  484. package/dist/nile-split-panel/nile-split-panel.test.cjs.js +0 -2
  485. package/dist/nile-split-panel/nile-split-panel.test.cjs.js.map +0 -1
  486. package/dist/nile-split-panel/nile-split-panel.test.esm.js +0 -1
  487. package/dist/nile-stepper/nile-stepper.test.cjs.js +0 -2
  488. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +0 -1
  489. package/dist/nile-stepper/nile-stepper.test.esm.js +0 -1
  490. package/dist/nile-tree/nile-tree.test.cjs.js +0 -2
  491. package/dist/nile-tree/nile-tree.test.cjs.js.map +0 -1
  492. package/dist/nile-tree/nile-tree.test.esm.js +0 -1
  493. package/dist/one-dark-pro-9477257e.cjs.js +0 -2
  494. package/dist/one-dark-pro-9477257e.cjs.js.map +0 -1
  495. package/dist/one-dark-pro-deb4f5e9.esm.js +0 -1
  496. package/dist/src/nile-split-panel/nile-split-panel.test.d.ts +0 -1
  497. package/dist/src/nile-split-panel/nile-split-panel.test.js +0 -4
  498. package/dist/src/nile-split-panel/nile-split-panel.test.js.map +0 -1
  499. package/dist/src/nile-stepper/nile-stepper.test.d.ts +0 -4
  500. package/dist/src/nile-stepper/nile-stepper.test.js +0 -7
  501. package/dist/src/nile-stepper/nile-stepper.test.js.map +0 -1
  502. package/dist/src/nile-tree/nile-tree.test.d.ts +0 -2
  503. package/dist/src/nile-tree/nile-tree.test.js +0 -5
  504. package/dist/src/nile-tree/nile-tree.test.js.map +0 -1
  505. package/dist/wikitext-b9a7e67b.cjs.js +0 -2
  506. package/dist/wikitext-b9a7e67b.cjs.js.map +0 -1
  507. package/dist/wikitext-c06489b3.esm.js +0 -1
  508. package/src/nile-split-panel/nile-split-panel.test.ts +0 -7
  509. package/src/nile-stepper/nile-stepper.test.ts +0 -12
  510. package/src/nile-tree/nile-tree.test.ts +0 -9
@@ -21,10 +21,10 @@ function wait(ms:number=50000) {
21
21
  }
22
22
 
23
23
  describe('NileCalendar', () => {
24
- // it('renders correctly with default properties', async () => {
25
- // const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);
26
- // expect(el).shadowDom.to.equalSnapshot();
27
- // });
24
+ it('renders correctly with default properties', async () => {
25
+ const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);
26
+ expect(el).shadowDom.to.equalSnapshot();
27
+ });
28
28
 
29
29
  it('should render correctly', async () => {
30
30
  const el = await fixture<NileCalendar>(html`<nile-calendar></nile-calendar>`);
@@ -306,7 +306,7 @@ describe('NileCalendar', () => {
306
306
  const durationInput = el.shadowRoot?.querySelector<NileInput>('nile-input.duration-input');
307
307
 
308
308
  if (durationInput) {
309
- durationInput.dispatchEvent(new CustomEvent('nile-input',{detail:{value:'5'}}));// Set duration to 5 (e.g., 5 hours)
309
+ durationInput.dispatchEvent(new CustomEvent('nile-change',{detail:{value:'5'}}));// Set duration to 5 (e.g., 5 hours)
310
310
  }
311
311
 
312
312
  await elementUpdated(el); // Wait for the DOM to update after the input
@@ -338,5 +338,64 @@ describe('NileCalendar', () => {
338
338
  // Check if the emitted endDate is approximately now
339
339
  expect(endDate.getTime()).to.be.closeTo(now.getTime(), 1000); // The end date should be roughly now
340
340
  });
341
+
342
+ it('should allow deselection of date on clicking again on selected date', async () => {
343
+ const el = await fixture<NileCalendar>(html`
344
+ <nile-calendar showManualInput doubleClickUnselect></nile-calendar>
345
+ `);
346
+ await elementUpdated(el);
347
+
348
+ // Get the current date element in the calendar
349
+ const currentDateElement = el.shadowRoot?.querySelector('div.days_container div.current__date__dot')?.parentElement?.parentElement;
350
+
351
+ // Simulate a click on the current date after a brief timeout
352
+ setTimeout(() => currentDateElement?.click());
353
+
354
+ // Wait for the 'nile-change' event to be emitted
355
+ const { detail: { value } } = await oneEvent(el, 'nile-change');
356
+
357
+ // Update the element after the event
358
+ await elementUpdated(el);
359
+
360
+ // Assertions
361
+ expect(value).to.exist;
362
+ expect(currentDateElement?.className).to.include('selected-date');
363
+
364
+ // Simulate a click on the current date after a brief timeout
365
+ currentDateElement?.click()
366
+ await elementUpdated(el);
367
+
368
+ expect(currentDateElement?.className).to.not.include('selected-date');
369
+ })
370
+
371
+ it('should allow deselection of range on clicking on clear button', async () => {
372
+ const el = await fixture<NileCalendar>(html`
373
+ <nile-calendar range allowClear></nile-calendar>
374
+ `);
375
+ await elementUpdated(el);
376
+
377
+ // Get day elements from the calendar, selecting two dates for range selection
378
+ const days = el.shadowRoot?.querySelectorAll('.days_container .day_date:not(.filler)') || [];
379
+ const firstDay = days[4] as HTMLElement; // Choose the 5th day of the month
380
+ const lastDay = days[9] as HTMLElement; // Choose the 10th day of the month
381
+
382
+ // Simulate click events for selecting the range (start and end date)
383
+ firstDay.click();
384
+ await elementUpdated(el); // Wait for updates after selection
385
+ lastDay.click();
386
+ await elementUpdated(el); // Wait for updates after range selection
387
+
388
+ // Ensure both dates are correctly selected in the DOM
389
+ expect(firstDay.classList.contains('range-start')).to.be.true;
390
+ expect(lastDay.classList.contains('range-end')).to.be.true;
391
+
392
+ // Find and click the "Apply" button to confirm the range
393
+ const clearButton = el.shadowRoot?.querySelector<NileButton>('.clear-button');
394
+ clearButton?.click()
395
+ await elementUpdated(el); // Wait for updates after range selection
396
+
397
+ expect(firstDay.classList.contains('range-start')).to.be.false;
398
+ expect(lastDay.classList.contains('range-end')).to.be.false;
399
+ })
341
400
  });
342
401
 
@@ -37,7 +37,6 @@ export class NileCalendar extends NileElement {
37
37
  return [styles];
38
38
  }
39
39
 
40
- protected override BUBBLES: boolean=false;
41
40
 
42
41
 
43
42
  @property({ type: String, attribute: 'value' }) valueAttribute: | string | null = null;
@@ -166,7 +165,7 @@ export class NileCalendar extends NileElement {
166
165
  ${this.allowClear?
167
166
  html`
168
167
  <nile-button
169
- class="apply-button"
168
+ class="clear-button"
170
169
  variant="secondary"
171
170
  ?disabled="${ !this.startDate || !this.endDate }"
172
171
  @click="${this.clearDate}"
@@ -580,7 +579,7 @@ export class NileCalendar extends NileElement {
580
579
  }
581
580
  }
582
581
 
583
- handleUnitChange(event: any) {
582
+ handleUnitChange(event: CustomEvent) {
584
583
  event.stopPropagation()
585
584
  this.selectedUnit = event.detail.value;
586
585
  if (this.selectedUnit && this.selectedValue) {
@@ -678,63 +677,6 @@ export class NileCalendar extends NileElement {
678
677
  return regex.test(input);
679
678
  }
680
679
 
681
- private handleStartDateInput(event: CustomEvent): void {
682
- const date = this.parseDate(event.detail.value);
683
- if (!this.isValidDateInput(date)) {
684
- this.startDate = null;
685
- }
686
- if (date && (!this.endDate || date <= this.endDate)) {
687
- this.startDate = date;
688
- } else {
689
- this.startDate = null;
690
- this.endDate = null;
691
- }
692
- }
693
-
694
- private handleEndDateInput(event: CustomEvent): void {
695
- const date = this.parseDate(event.detail.value);
696
- if (!this.isValidDateInput(date)) {
697
- this.endDate = null;
698
- }
699
- if (date && (!this.startDate || date >= this.startDate)) {
700
- this.endDate = date;
701
- } else {
702
- this.endDate = null;
703
- }
704
- }
705
-
706
- private isValidDateInput(input: any): boolean {
707
- const regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
708
- return regex.test(input);
709
- }
710
-
711
- private parseDate(dateString: string): Date | null {
712
- const [day, month, year] = dateString.split('/').map(Number);
713
- const date = new Date(year, month - 1, day);
714
- return !isNaN(date.getTime()) ? date : null;
715
- }
716
-
717
- private formatDateRange(value: {
718
- startDate: Date | null;
719
- endDate: Date | null;
720
- }): string {
721
- if (!value) {
722
- return value;
723
- }
724
- if (!value.startDate || !value.endDate) return '';
725
- return `${this.formatDate(value.startDate)} - ${this.formatDate(
726
- value.endDate
727
- )}`;
728
- }
729
-
730
- private formatDate(date: Date | null): string {
731
- if (!date) return '';
732
- const day = String(date.getDate()).padStart(2, '0');
733
- const month = String(date.getMonth() + 1).padStart(2, '0');
734
- const year = date.getFullYear();
735
- return `${day}/${month}/${year}`;
736
- }
737
-
738
680
  private formatTime(date: Date | null): string {
739
681
  if (!date) return '';
740
682
  const hours = String(date.getHours()).padStart(2, '0');
@@ -769,15 +711,6 @@ export class NileCalendar extends NileElement {
769
711
  });
770
712
  }
771
713
 
772
- convertTZ(date: Date, tzString: any) {
773
- return new Date(
774
- (typeof date === 'string' ? new Date(date) : date).toLocaleString(
775
- 'en-US',
776
- { timeZone: tzString }
777
- )
778
- );
779
- }
780
-
781
714
  onTypeChange(event: CustomEvent) {
782
715
  this.type = event.detail.value;
783
716
  this.emit('nile-type-change', { value: this.type })
@@ -29,8 +29,6 @@ import { CSSResultGroup } from 'lit';
29
29
  export class NileCard extends NileElements {
30
30
  static styles: CSSResultGroup = styles;
31
31
 
32
- protected override BUBBLES: boolean=false;
33
-
34
32
  private readonly hasSlotController = new HasSlotController(this, 'footer');
35
33
 
36
34
  render() {
@@ -59,8 +59,6 @@ export class NileCheckbox extends NileElement {
59
59
  }
60
60
 
61
61
  static styles: CSSResultGroup = styles;
62
-
63
- protected override BUBBLES: boolean=false;
64
62
 
65
63
  @query('input[type="checkbox"]') input: HTMLInputElement;
66
64
 
@@ -28,8 +28,6 @@ export class NileChip extends NileElement {
28
28
  public static get styles(): CSSResultArray {
29
29
  return [styles];
30
30
  }
31
-
32
- protected override BUBBLES: boolean=false;
33
31
 
34
32
  private readonly hasSlotController = new HasSlotController(
35
33
  this,
@@ -261,10 +259,6 @@ export class NileChip extends NileElement {
261
259
  )}
262
260
  <div class="nile-chip__auto-complete">
263
261
  <nile-auto-complete
264
- @nile-show="${(e:CustomEvent)=>this.emit('nile-show')}"
265
- @nile-after-show="${(e:CustomEvent)=>this.emit('nile-after-show')}"
266
- @nile-hide="${(e:CustomEvent)=>this.emit('nile-hide')}"
267
- @nile-after-hide="${(e:CustomEvent)=>this.emit('nile-after-hide')}"
268
262
  .allMenuItems=${this.filteredAutoCompleteOptions}
269
263
  .value=${this.inputValue}
270
264
  ?isDropdownOpen=${this.isDropdownOpen}
@@ -48,8 +48,6 @@ const TIME_OUT_DURATION=200;
48
48
  */
49
49
  @customElement('nile-code-editor')
50
50
  export class NileCodeEditor extends NileElement {
51
-
52
- protected override BUBBLES: boolean=false;
53
51
 
54
52
  @query('.code-mirror') codeEditor: HTMLInputElement;
55
53
 
@@ -31,8 +31,6 @@ export class NileContentEditor extends NileElement {
31
31
  * @event nile-change - Emitted when the control's value changes.
32
32
  */
33
33
 
34
- protected override BUBBLES: boolean=false;
35
-
36
34
  @property() value: string = '';
37
35
 
38
36
  @property() options: Array<any>;
@@ -33,8 +33,6 @@ export class NileDatePicker extends NileElement {
33
33
  return [styles];
34
34
  }
35
35
 
36
- protected override BUBBLES: boolean=false;
37
-
38
36
  @property({ type: Boolean }) range = false;
39
37
 
40
38
  @property({ type: Boolean }) hideTypes = false;
@@ -66,27 +64,20 @@ export class NileDatePicker extends NileElement {
66
64
  */
67
65
  render(): TemplateResult {
68
66
  return html`
69
- <nile-dropdown
70
- .open="${this.open}"
71
- part="dd-base"
72
- .hoist="${true}"
73
- distance="6"
74
- exportparts="base"
75
- @nile-show="${(e:CustomEvent)=>this.emit('nile-show')}"
76
- @nile-after-show="${(e:CustomEvent)=>this.emit('nile-after-show')}"
77
- @nile-hide="${(e:CustomEvent)=>this.emit('nile-hide')}"
78
- @nile-after-hide="${(e:CustomEvent)=>this.emit('nile-after-hide')}"
79
- >
67
+ <nile-dropdown .open="${this.open}" part="dd-base" .hoist="${true}" distance="6" exportparts="base">
80
68
  <slot slot="trigger" part="trigger" name="trigger"></slot>
81
69
  <nile-calendar
82
70
  .hideTypes="${this.hideTypes}"
83
71
  .type="${this.type}"
84
72
  value="${this.value}"
85
73
  .range="${this.range}"
86
- @nile-clear="${(e:CustomEvent)=>this.emit('nile-clear')}"
74
+ @nile-init="${(e:CustomEvent)=>e.stopPropagation()}"
75
+ @nile-destroy="${(e:CustomEvent)=>e.stopPropagation()}"
76
+ @nile-changed="${(e:CustomEvent)=>e.stopPropagation()}"
87
77
  @nile-change="${this.handleChanged}"
88
- @nile-type-change="${(e:CustomEvent)=>this.emit('nile-type-change',e.detail)}"
89
78
  .allowedDates="${this.allowedDates}"
79
+ @nile-type-change="${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-type-change',e.detail)}}"
80
+ @nile-clear="${(e:CustomEvent)=>{e.stopPropagation();this.emit('nile-clear')}}"
90
81
  .hideDurationFields="${this.hideDurationFields}"
91
82
  .showManualInputs="${this.showManualInputs}"
92
83
  .doubleClickUnselect="${this.doubleClickUnselect}"
@@ -97,6 +88,7 @@ export class NileDatePicker extends NileElement {
97
88
  }
98
89
 
99
90
  handleChanged(event: CustomEvent) {
91
+ event.stopPropagation()
100
92
  this.emit('nile-changed', event.detail);
101
93
  this.emit('nile-change', event.detail);
102
94
  if (this.dropdown) {
@@ -32,8 +32,6 @@ import NileElement from '../internal/nile-element';
32
32
  export class NileDialog extends NileElement {
33
33
  static styles: CSSResultGroup = styles;
34
34
 
35
- protected override BUBBLES: boolean=false;
36
-
37
35
  private readonly hasSlotController = new HasSlotController(this, 'footer','sublabel','label');
38
36
  private modal: Modal;
39
37
  private originalTrigger: HTMLElement | null;
@@ -81,8 +81,6 @@ export class NileDrawer extends NileElement {
81
81
 
82
82
  static styles: CSSResultGroup = styles;
83
83
 
84
- protected override BUBBLES: boolean=false;
85
-
86
84
  private readonly hasSlotController = new HasSlotController(this, 'footer');
87
85
  private modal: Modal;
88
86
  private originalTrigger: HTMLElement | null;
@@ -28,8 +28,6 @@ export class NileEmptyState extends NileElement {
28
28
  return [styles];
29
29
  }
30
30
 
31
- protected override BUBBLES: boolean=false;
32
-
33
31
  @property() size: 'sm' | 'md' | 'lg' = 'md';
34
32
 
35
33
  @property() variant:
@@ -0,0 +1,86 @@
1
+ import { fixture, expect, html } from '@open-wc/testing';
2
+ import './nile-form-help-text';
3
+ import { NileFormHelpText } from './nile-form-help-text';
4
+
5
+ const wait = (ms: number = 50000) => new Promise(resolve => setTimeout(resolve, ms))
6
+
7
+ describe('NileFormHelpText', () => {
8
+ it('should render with default properties', async () => {
9
+ const el: NileFormHelpText = await fixture(html`<nile-form-help-text></nile-form-help-text>`);
10
+
11
+ // Check if the displayed text is empty initially (no content in slot)
12
+ const textContent = el.shadowRoot!.querySelector('div>span:first-child')?.textContent?.trim()
13
+ expect(textContent).to.equal('...');
14
+ });
15
+
16
+ it('should truncate the text if it exceeds textLimit and show "View More" button', async () => {
17
+ const longText = "This is a very long help text that should be truncated and should show a 'View More' button.";
18
+ const el: NileFormHelpText = await fixture(html`<nile-form-help-text><span>${longText}</span></nile-form-help-text>`);
19
+
20
+ // Check if the displayed text is truncated
21
+ const textContent = el.shadowRoot!.querySelector('div>span:first-child')?.textContent?.trim()
22
+ expect(textContent?.endsWith('...')).to.be.true;
23
+
24
+ // Check if the "View More" button is visible
25
+ const moreButton = el.shadowRoot!.querySelector('.nile-form-help-text__more-button');
26
+ expect(moreButton).to.exist;
27
+ expect(moreButton?.textContent).to.include('View More');
28
+ });
29
+
30
+ it('should expand to show full text when "View More" is clicked', async () => {
31
+ const longText = "This is a very long help text that should be truncated and should show a 'View More' button.";
32
+ const el: NileFormHelpText = await fixture(html`<nile-form-help-text><span>${longText}</span></nile-form-help-text>`);
33
+
34
+ // Simulate clicking the "View More" button
35
+ const moreButton = el.shadowRoot!.querySelector<HTMLElement>('.nile-form-help-text__more-button');
36
+ moreButton?.click();
37
+ await el.updateComplete;
38
+
39
+ // Verify that the full text is displayed
40
+ const textContent = el.shadowRoot!.querySelector('div>span:first-child')?.textContent?.trim()
41
+ expect(textContent).to.equal(longText);
42
+
43
+ // Check if the "View Less" button is now visible
44
+ const lessButton = el.shadowRoot!.querySelector('.nile-form-help-text__more-button');
45
+ expect(lessButton).to.exist;
46
+ expect(lessButton?.textContent).to.include('View Less');
47
+ });
48
+
49
+ it('should collapse back to truncated text when "View Less" is clicked', async () => {
50
+ const longText = "This is a very long help text that should be truncated and should show a 'View More' button.";
51
+ const el: NileFormHelpText = await fixture(html`<nile-form-help-text><span>${longText}</span></nile-form-help-text>`);
52
+
53
+ // Expand the text
54
+ const moreButton = el.shadowRoot!.querySelector<HTMLElement>('.nile-form-help-text__more-button');
55
+ moreButton?.click();
56
+ await el.updateComplete;
57
+
58
+ // Collapse the text by clicking "View Less"
59
+ const lessButton = el.shadowRoot!.querySelector<HTMLElement>('.nile-form-help-text__more-button');
60
+ lessButton?.click();
61
+ await el.updateComplete;
62
+
63
+ // Verify that the text is truncated again
64
+ const textContent = el.shadowRoot!.querySelector('div>span:first-child')?.textContent?.trim()
65
+ expect(textContent?.endsWith('...')).to.be.true;
66
+
67
+ // Check if the "View More" button is visible again
68
+ const viewMoreButton = el.shadowRoot!.querySelector('.nile-form-help-text__more-button');
69
+ expect(viewMoreButton).to.exist;
70
+ expect(viewMoreButton?.textContent).to.include('View More');
71
+ });
72
+
73
+ it('should not show "View More" button when text is within limit', async () => {
74
+ const shortText = "Short help text.";
75
+ const el: NileFormHelpText = await fixture(html`<nile-form-help-text><span>${shortText}</span></nile-form-help-text>`);
76
+
77
+ // Check if the displayed text is not truncated
78
+ const textContent = el.shadowRoot!.querySelector('div>span:first-child')?.textContent?.trim()
79
+ expect(textContent).to.equal(shortText+'...');
80
+
81
+ // Verify that "View More" button is not rendered
82
+ const moreButton = el.shadowRoot!.querySelector('.nile-form-help-text__more-button');
83
+ expect(moreButton).to.be.null;
84
+ });
85
+
86
+ });
@@ -25,24 +25,21 @@ export class NileFormHelpText extends LitElement {
25
25
  return [styles];
26
26
  }
27
27
 
28
+ @property({ type: Boolean, reflect: true }) isExpanded: boolean = false;
28
29
 
29
- @property({ type: Boolean, reflect: true })
30
- isExpanded: boolean = false;
30
+ @property({ type: String, reflect: true }) fullText: string = '';
31
31
 
32
- @property({ type: String, reflect: true })
33
- fullText: string = '';
32
+ @property({ type: Number, reflect: true }) textLimit: number = 47;
34
33
 
35
- @property({ type: String, reflect: true })
36
- displayedText: string = '';
34
+ @property({ type: String, reflect: true }) displayedText: string = '';
37
35
 
38
- @query('slot')
39
- slotElement!: HTMLSlotElement;
36
+ @query('slot') slotElement!: HTMLSlotElement;
40
37
 
41
38
  connectedCallback() {
42
39
  super.connectedCallback();
43
40
  requestAnimationFrame(() => {
44
41
  this.slotElement?.addEventListener('slotchange', this.handleSlotChange.bind(this));
45
- });
42
+ });
46
43
  }
47
44
 
48
45
  firstUpdated() {
@@ -52,13 +49,17 @@ export class NileFormHelpText extends LitElement {
52
49
  handleSlotChange() {
53
50
  const nodes = this.slotElement.assignedNodes({flatten: true});
54
51
  const textContent = nodes.map(node => node.textContent).join('');
55
- this.fullText = textContent;
56
- this.displayedText = textContent.length > 50 ? `${textContent.substring(0, 47)}...` : textContent;
52
+ this.fullText = textContent.trim();
53
+ this.updateDisplayedText()
57
54
  }
58
55
 
59
56
  toggleExpanded() {
60
57
  this.isExpanded = !this.isExpanded;
61
- this.displayedText = this.isExpanded ? this.fullText : `${this.fullText.substring(0, 47)}...`;
58
+ this.updateDisplayedText()
59
+ }
60
+
61
+ updateDisplayedText(){
62
+ this.displayedText = this.isExpanded ? this.fullText : `${this.fullText.substring(0, this.textLimit)}...`;
62
63
  }
63
64
 
64
65
  /* #endregion */
@@ -70,13 +71,14 @@ export class NileFormHelpText extends LitElement {
70
71
  * @slot This is a slot test
71
72
  */
72
73
  public render(): TemplateResult {
73
- const showMoreButton = this.fullText.length > 50;
74
+ const showMoreButton = this.fullText.length > this.textLimit+3;
74
75
  const iconName = this.isExpanded ? 'arrowup' : 'arrowdown';
75
76
 
76
77
  return html`
77
78
  <div class="nile-form-help-text" part="container">
78
- <slot hidden></slot>
79
- <div part="text">${this.displayedText}
79
+ <slot hidden>${this.fullText}</slot>
80
+ <div part="text">
81
+ <span>${this.displayedText}</span>
80
82
  ${showMoreButton ? html`
81
83
  <span
82
84
  class="nile-form-help-text__more-button"
@@ -44,8 +44,6 @@ import NileElement from '../internal/nile-element';
44
44
  export class NileIconButton extends NileElement {
45
45
  static styles: CSSResultGroup = styles;
46
46
 
47
- protected override BUBBLES: boolean=false;
48
-
49
47
  @query('.icon-button') button: HTMLButtonElement | HTMLLinkElement;
50
48
 
51
49
  @state() private hasFocus = false;
@@ -37,8 +37,6 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
37
37
  export class NileInput extends NileElement implements NileFormControl {
38
38
  static styles: CSSResultGroup = styles;
39
39
 
40
- protected override BUBBLES: boolean=false;
41
-
42
40
  private readonly formControlController = new FormControlController(this, {
43
41
  assumeInteractionOn: ['nile-blur', 'nile-input'],
44
42
  });
@@ -30,8 +30,6 @@ export class NileLink extends NileElement {
30
30
  return [styles];
31
31
  }
32
32
 
33
- protected override BUBBLES: boolean=false;
34
-
35
33
  private readonly hasSlotController = new HasSlotController(
36
34
  this,
37
35
  '[default]',
@@ -32,8 +32,6 @@ export class NileList extends NileElement {
32
32
  return [styles];
33
33
  }
34
34
 
35
- protected override BUBBLES: boolean=false;
36
-
37
35
  /* #endregion */
38
36
 
39
37
  /* #region Methods */
@@ -40,8 +40,6 @@ export class NileListItem extends NileElement {
40
40
  public static get styles(): CSSResultArray {
41
41
  return [styles];
42
42
  }
43
-
44
- protected override BUBBLES: boolean=false;
45
43
  @property({ type: String, attribute: 'icon-name' }) iconName = '';
46
44
  @property({ type: Number, attribute: 'icon-size' }) iconSize = 14;
47
45
 
@@ -42,4 +42,10 @@ describe('NileLoader', () => {
42
42
  const loaderDiv = el.shadowRoot!.querySelector('.nile-loader__v1');
43
43
  expect(loaderDiv?.getAttribute('style')).to.contain('margin: 10px');
44
44
  });
45
+
46
+ it('should render the v3 variant', async () => {
47
+ const el: NileLoader = await fixture(html`<nile-loader variant="v3"></nile-loader>`);
48
+ const variantV3 = el.shadowRoot!.querySelector('.nile-loader__v3');
49
+ expect(variantV3).to.exist;
50
+ });
45
51
  })
@@ -23,9 +23,6 @@ import { HasSlotController } from '../internal/slot';
23
23
  @customElement('nile-menu')
24
24
  export class NileMenu extends NileElement {
25
25
  static styles: CSSResultGroup = styles;
26
-
27
- protected override BUBBLES: boolean=false;
28
-
29
26
  @state() searchValue: string = '';
30
27
  @state() searchWidth: number = 0;
31
28
 
@@ -210,9 +207,6 @@ export class NileMenu extends NileElement {
210
207
  @nile-input=${this.handleSearchChange}
211
208
  part="menu__input"
212
209
  clearable
213
- @nile-input=${(e:CustomEvent)=>this.emit('nile-input',e.detail)}
214
- @nile-change=${(e:CustomEvent)=>this.emit('nile-change',e.detail)}
215
- @nile-clear=${(e:CustomEvent)=>this.emit('nile-clear',e.detail)}
216
210
  >
217
211
  <nile-icon name="search" slot="suffix"> </nile-icon>
218
212
  </nile-input>
@@ -48,9 +48,6 @@ import type { CSSResultGroup } from 'lit';
48
48
  export class NileMenuItem extends NileElement {
49
49
  static styles: CSSResultGroup = styles;
50
50
 
51
- protected override BUBBLES: boolean=false;
52
- protected override COMPOSED: boolean=false;
53
-
54
51
  private cachedTextLabel: string;
55
52
 
56
53
  @query('slot:not([name])') defaultSlot: HTMLSlotElement;
@@ -44,9 +44,6 @@ import '../nile-checkbox';
44
44
  export class NileOption extends NileElement {
45
45
  static styles: CSSResultGroup = styles;
46
46
 
47
- protected override BUBBLES: boolean=false;
48
- protected override COMPOSED: boolean=false;
49
-
50
47
  private cachedTextLabel: string;
51
48
 
52
49
  @query('.option__label') defaultSlot: HTMLSlotElement;
@@ -34,8 +34,6 @@ export class NilePopover extends NileElement {
34
34
  return [styles];
35
35
  }
36
36
 
37
- protected override BUBBLES: boolean=false;
38
-
39
37
  /**
40
38
  * The preferred placement of the popover. Note that the actual placement may vary as needed to keep the tooltip
41
39
  * inside of the viewport.
@@ -25,9 +25,6 @@ import type { CSSResultGroup } from 'lit';
25
25
  export class NilePopup extends NileElement {
26
26
  static styles: CSSResultGroup = styles;
27
27
 
28
- protected override BUBBLES: boolean=false;
29
- protected override COMPOSED: boolean=false;
30
-
31
28
  private anchorEl: Element | null;
32
29
  private cleanup: ReturnType<typeof autoUpdate> | undefined;
33
30
 
@@ -28,8 +28,6 @@ import type NileRadio from '../nile-radio/nile-radio';
28
28
  export class NileRadioGroup extends NileElement {
29
29
  static styles: CSSResultGroup = styles;
30
30
 
31
- protected override BUBBLES: boolean=false;
32
-
33
31
  private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');
34
32
  private customValidityMessage = '';
35
33
 
@@ -97,8 +97,6 @@ type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;
97
97
  export class NileSelect extends NileElement implements NileFormControl {
98
98
  static styles: CSSResultGroup = styles;
99
99
 
100
- protected override BUBBLES: boolean=false;
101
-
102
100
  // protected override BUBBLES=false;
103
101
 
104
102
  private readonly formControlController = new FormControlController(this, {
@@ -1222,11 +1220,9 @@ export class NileSelect extends NileElement implements NileFormControl {
1222
1220
  clearable
1223
1221
  .value=${this.searchValue}
1224
1222
  placeholder="${this.internalSearchPlaceHolder}"
1225
- @nile-focus="${(e:CustomEvent)=>{this.handleSearchFocus();this.emit('nile-focus',e.detail)}}"
1226
- @nile-blur="${(e:CustomEvent)=>{this.emit('nile-blur',e.detail)}}"
1227
- @nile-change="${(e:CustomEvent)=>{this.onInputChange(e);this.emit('nile-change',e.detail)}}"
1228
- @nile-input="${(e:CustomEvent)=>{this.handleSearchChange(e);this.emit('nile-input',e.detail)}}"
1229
- @nile-clear=${(e:CustomEvent)=>this.emit('nile-clear',e.detail)}
1223
+ @nile-input=${this.handleSearchChange}
1224
+ @nile-focus=${this.handleSearchFocus}
1225
+ @nile-change="${this.onInputChange}"
1230
1226
  >
1231
1227
  <nile-icon name="search" slot="suffix"> </nile-icon>
1232
1228
  </nile-input>