@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
@@ -0,0 +1,247 @@
1
+ import { expect, fixture, html, oneEvent, elementUpdated } from '@open-wc/testing';
2
+ import './nile-select'; // Assuming the component is registered and imported
3
+ import '../nile-option/nile-option';
4
+ import '../nile-input/nile-input';
5
+ import '../nile-popup/nile-popup';
6
+ import '../nile-tag/nile-tag';
7
+ import '../nile-checkbox/nile-checkbox';
8
+ const wait = (ms = 50000) => new Promise(resolve => setTimeout(resolve, ms));
9
+ const keyboardEvent = new KeyboardEvent('keydown', {
10
+ code: 'Enter',
11
+ key: 'Enter',
12
+ charCode: 13,
13
+ keyCode: 13,
14
+ view: window,
15
+ bubbles: true
16
+ });
17
+ const mouseUpEvent = new MouseEvent("mouseup", {
18
+ bubbles: true,
19
+ cancelable: true,
20
+ view: window
21
+ });
22
+ describe('NileSelect Component', () => {
23
+ it('should render the placeholder when no value is selected', async () => {
24
+ const el = await fixture(html `<nile-select placeholder="Select an option..."></nile-select>`);
25
+ const displayInput = el.shadowRoot?.querySelector('.select__display-input');
26
+ expect(displayInput?.placeholder).to.equal('Select an option...');
27
+ });
28
+ it('should open the dropdown when clicked', async () => {
29
+ const el = await fixture(html `
30
+ <nile-select>
31
+ <nile-option value="option1">Option 1</nile-option>
32
+ </nile-select>
33
+ `);
34
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
35
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
36
+ await elementUpdated(el);
37
+ const popup = el.shadowRoot?.querySelector('.select');
38
+ expect(popup?.classList.contains('select--open')).to.be.true;
39
+ });
40
+ it('should close the dropdown when clicked again', async () => {
41
+ const el = await fixture(html `
42
+ <nile-select>
43
+ <nile-option value="option1">Option 1</nile-option>
44
+ </nile-select>
45
+ `);
46
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
47
+ // Open dropdown first
48
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
49
+ await elementUpdated(el);
50
+ expect(el.open).to.be.true;
51
+ // Click again to close dropdown
52
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
53
+ await elementUpdated(el);
54
+ expect(el.open).to.be.false;
55
+ });
56
+ it('should update the display label when an option is selected', async () => {
57
+ const el = await fixture(html `
58
+ <nile-select>
59
+ <nile-option value="option1">Option 1</nile-option>
60
+ <nile-option value="option2">Option 2</nile-option>
61
+ </nile-select>
62
+ `);
63
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
64
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
65
+ await elementUpdated(el);
66
+ // Select the first option
67
+ const option1 = el.querySelector('nile-option[value="option1"]');
68
+ option1?.dispatchEvent(mouseUpEvent);
69
+ await elementUpdated(el);
70
+ const displayInput = el.shadowRoot?.querySelector('.select__display-input');
71
+ expect(displayInput?.value).to.equal('Option 1');
72
+ });
73
+ it('should handle multi-select and show selected tags', async () => {
74
+ const el = await fixture(html `
75
+ <nile-select multiple>
76
+ <nile-option value="option1">Option 1</nile-option>
77
+ <nile-option value="option2">Option 2</nile-option>
78
+ <nile-option value="option3">Option 3</nile-option>
79
+ </nile-select>
80
+ `);
81
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
82
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
83
+ await elementUpdated(el);
84
+ // Select multiple options
85
+ const option1 = el.querySelector('nile-option[value="option1"]');
86
+ const option2 = el.querySelector('nile-option[value="option2"]');
87
+ option1?.dispatchEvent(mouseUpEvent);
88
+ option2?.dispatchEvent(mouseUpEvent);
89
+ await elementUpdated(el);
90
+ // Check if the tags are displayed
91
+ const tags = el.shadowRoot?.querySelectorAll('nile-tag');
92
+ expect(tags?.length).to.equal(2);
93
+ expect(tags?.[0].textContent?.trim()).to.equal('Option 1');
94
+ expect(tags?.[1].textContent?.trim()).to.equal('Option 2');
95
+ });
96
+ it('should clear selected value when clear button is clicked', async () => {
97
+ const el = await fixture(html `
98
+ <nile-select clearable>
99
+ <nile-option value="option1">Option 1</nile-option>
100
+ </nile-select>
101
+ `);
102
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
103
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
104
+ await elementUpdated(el);
105
+ // Select an option
106
+ const option1 = el.querySelector('nile-option[value="option1"]');
107
+ option1?.click();
108
+ await elementUpdated(el);
109
+ // Clear the selected value
110
+ const clearButton = el.shadowRoot?.querySelector('.select__clear');
111
+ clearButton?.click();
112
+ await elementUpdated(el);
113
+ const displayInput = el.shadowRoot?.querySelector('.select__display-input');
114
+ expect(displayInput?.value).to.be.empty;
115
+ });
116
+ it('should emit nile-change event when value changes', async () => {
117
+ const el = await fixture(html `
118
+ <nile-select>
119
+ <nile-option value="option1">Option 1</nile-option>
120
+ <nile-option value="option2">Option 2</nile-option>
121
+ </nile-select>
122
+ `);
123
+ const listener = oneEvent(el, 'nile-change');
124
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
125
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
126
+ await elementUpdated(el);
127
+ const option1 = el.querySelector('nile-option[value="option1"]');
128
+ option1?.dispatchEvent(mouseUpEvent);
129
+ const event = await listener;
130
+ expect(event.detail.value).to.equal('option1');
131
+ });
132
+ it('should not open when disabled', async () => {
133
+ const el = await fixture(html `
134
+ <nile-select disabled>
135
+ <nile-option value="option1">Option 1</nile-option>
136
+ </nile-select>
137
+ `);
138
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
139
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
140
+ await elementUpdated(el);
141
+ const popup = el.shadowRoot?.querySelector('.select');
142
+ expect(popup?.classList.contains('select--open')).to.be.false;
143
+ });
144
+ it('should display the search bar if searchEnabled is true', async () => {
145
+ const el = await fixture(html `
146
+ <nile-select searchEnabled>
147
+ <nile-option value="option1">Option 1</nile-option>
148
+ <nile-option value="option2">Option 2</nile-option>
149
+ </nile-select>
150
+ `);
151
+ const combobox = el.shadowRoot?.querySelector("div.select__combobox");
152
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
153
+ await elementUpdated(el);
154
+ const searchBar = el.shadowRoot?.querySelector('.select__search');
155
+ expect(searchBar).to.exist;
156
+ });
157
+ it('should show "No results found" when searching for an invalid query', async () => {
158
+ const el = await fixture(html `
159
+ <nile-select searchEnabled>
160
+ <nile-option value="option1">Option 1</nile-option>
161
+ <nile-option value="option2">Option 2</nile-option>
162
+ </nile-select>
163
+ `);
164
+ const combobox = el.shadowRoot?.querySelector('.select__combobox');
165
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
166
+ await elementUpdated(el);
167
+ // Simulate typing an invalid search query
168
+ const searchInput = el.shadowRoot?.querySelector('.select__search nile-input');
169
+ if (searchInput) {
170
+ searchInput.value = 'invalid';
171
+ searchInput.dispatchEvent(new CustomEvent('nile-input', { detail: { value: 'invalid' } }));
172
+ }
173
+ await elementUpdated(el);
174
+ const noResultsMessage = el.shadowRoot?.querySelector('.select__no-results');
175
+ expect(noResultsMessage).to.exist;
176
+ expect(noResultsMessage?.textContent?.trim()).to.equal('No results found');
177
+ });
178
+ it('should allow selecting multiple options, display the selected count, and clear selections when clear button is clicked', async () => {
179
+ const el = await fixture(html `
180
+ <nile-select multiple clearable>
181
+ <nile-option value="1">Option 1</nile-option>
182
+ <nile-option value="2">Option 2</nile-option>
183
+ <nile-option value="3">Option 3</nile-option>
184
+ </nile-select>
185
+ `);
186
+ const combobox = el.shadowRoot?.querySelector('.select__combobox');
187
+ const options = el.querySelectorAll('nile-option');
188
+ const displayInput = el.shadowRoot?.querySelector('.select__display-input');
189
+ // Open the dropdown
190
+ combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
191
+ await el.updateComplete;
192
+ // Select the first two options
193
+ options[0].dispatchEvent(mouseUpEvent);
194
+ options[1].dispatchEvent(mouseUpEvent);
195
+ await el.updateComplete;
196
+ // Verify the display label reflects the number of selected options
197
+ expect(displayInput?.value).to.equal('2 selected');
198
+ // Check that the clearable button is visible
199
+ const clearButton = el.shadowRoot?.querySelector('.select__clear');
200
+ console.log(clearButton);
201
+ expect(clearButton).to.exist;
202
+ // Click the clear button
203
+ clearButton?.click();
204
+ await el.updateComplete;
205
+ // Verify the display label is cleared and placeholder is shown
206
+ expect(displayInput?.value).to.equal('');
207
+ // Verify that no options are selected
208
+ expect(Array.from(options).every(option => !option.selected)).to.be.true;
209
+ });
210
+ it('should allow selecting multiple options, clearing selections, and handling backspace to deselect the last selected option', async () => {
211
+ const el = await fixture(html `
212
+ <nile-select multiple clearable>
213
+ <nile-option value="option1">Option 1</nile-option>
214
+ <nile-option value="option2">Option 2</nile-option>
215
+ <nile-option value="option3">Option 3</nile-option>
216
+ </nile-select>
217
+ `);
218
+ const combobox = el.shadowRoot?.querySelector('div.select__combobox');
219
+ const options = el.querySelectorAll('nile-option');
220
+ const displayInput = el.shadowRoot?.querySelector('.select__display-input');
221
+ const clearButton = el.shadowRoot?.querySelector('.select__clear');
222
+ // Open the dropdown and select three options
223
+ combobox?.click();
224
+ await el.updateComplete;
225
+ options[0].dispatchEvent(mouseUpEvent);
226
+ options[1].dispatchEvent(mouseUpEvent);
227
+ options[2].dispatchEvent(mouseUpEvent);
228
+ await el.updateComplete;
229
+ // Verify that three options are selected
230
+ expect(displayInput?.value).to.equal('3 selected');
231
+ expect(Array.from(options).every(option => option.selected)).to.be.true;
232
+ // // Reopen dropdown, select three options again
233
+ // combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown
234
+ // await el.updateComplete;
235
+ // options[0].dispatchEvent(mouseUpEvent);
236
+ // options[1].dispatchEvent(mouseUpEvent);
237
+ options[2].dispatchEvent(mouseUpEvent);
238
+ await el.updateComplete;
239
+ // Verify only the first two options are selected
240
+ expect(options[0].selected).to.be.true;
241
+ expect(options[1].selected).to.be.true;
242
+ expect(options[2].selected).to.be.false;
243
+ // Verify display label reflects two selected options
244
+ expect(displayInput?.value).to.equal('2 selected');
245
+ });
246
+ });
247
+ //# sourceMappingURL=nile-select.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-select.test.js","sourceRoot":"","sources":["../../../src/nile-select/nile-select.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, fixture, html, oneEvent, elementUpdated } from '@open-wc/testing';\nimport './nile-select'; // Assuming the component is registered and imported\nimport NileSelect from './nile-select';\nimport { NileOption } from '../nile-option';\nimport { NileInput } from '../nile-input';\nimport '../nile-option/nile-option';\nimport '../nile-input/nile-input';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport '../nile-checkbox/nile-checkbox';\n\nconst wait=(ms:number=50000)=>new Promise(resolve => setTimeout(resolve, ms))\n\nconst keyboardEvent = new KeyboardEvent('keydown', {\n code: 'Enter',\n key: 'Enter',\n charCode: 13,\n keyCode: 13,\n view: window,\n bubbles: true\n});\n\nconst mouseUpEvent = new MouseEvent(\"mouseup\", {\n bubbles: true,\n cancelable: true,\n view: window\n});\n\ndescribe('NileSelect Component', () => {\n \n it('should render the placeholder when no value is selected', async () => {\n const el = await fixture<NileSelect>(html`<nile-select placeholder=\"Select an option...\"></nile-select>`);\n const displayInput = el.shadowRoot?.querySelector<HTMLInputElement>('.select__display-input');\n expect(displayInput?.placeholder).to.equal('Select an option...');\n });\n\n it('should open the dropdown when clicked', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select>\n <nile-option value=\"option1\">Option 1</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n const popup = el.shadowRoot?.querySelector('.select');\n expect(popup?.classList.contains('select--open')).to.be.true;\n });\n\n it('should close the dropdown when clicked again', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select>\n <nile-option value=\"option1\">Option 1</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n\n // Open dropdown first\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n expect(el.open).to.be.true;\n\n // Click again to close dropdown\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n expect(el.open).to.be.false;\n });\n\n it('should update the display label when an option is selected', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select>\n <nile-option value=\"option1\">Option 1</nile-option>\n <nile-option value=\"option2\">Option 2</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n // Select the first option\n const option1 = el.querySelector<NileOption>('nile-option[value=\"option1\"]');\n option1?.dispatchEvent(mouseUpEvent);\n await elementUpdated(el);\n\n const displayInput = el.shadowRoot?.querySelector<HTMLInputElement>('.select__display-input');\n expect(displayInput?.value).to.equal('Option 1');\n });\n\n it('should handle multi-select and show selected tags', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select multiple>\n <nile-option value=\"option1\">Option 1</nile-option>\n <nile-option value=\"option2\">Option 2</nile-option>\n <nile-option value=\"option3\">Option 3</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n // Select multiple options\n const option1 = el.querySelector<NileOption>('nile-option[value=\"option1\"]');\n const option2 = el.querySelector<NileOption>('nile-option[value=\"option2\"]');\n \n option1?.dispatchEvent(mouseUpEvent);\n option2?.dispatchEvent(mouseUpEvent);\n await elementUpdated(el);\n\n // Check if the tags are displayed\n const tags = el.shadowRoot?.querySelectorAll('nile-tag');\n expect(tags?.length).to.equal(2);\n expect(tags?.[0].textContent?.trim()).to.equal('Option 1');\n expect(tags?.[1].textContent?.trim()).to.equal('Option 2');\n });\n\n it('should clear selected value when clear button is clicked', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select clearable>\n <nile-option value=\"option1\">Option 1</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n // Select an option\n const option1 = el.querySelector<NileOption>('nile-option[value=\"option1\"]');\n option1?.click();\n await elementUpdated(el);\n\n // Clear the selected value\n const clearButton = el.shadowRoot?.querySelector<HTMLButtonElement>('.select__clear');\n clearButton?.click();\n await elementUpdated(el);\n\n const displayInput = el.shadowRoot?.querySelector<HTMLInputElement>('.select__display-input');\n expect(displayInput?.value).to.be.empty;\n });\n\n it('should emit nile-change event when value changes', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select>\n <nile-option value=\"option1\">Option 1</nile-option>\n <nile-option value=\"option2\">Option 2</nile-option>\n </nile-select>\n `);\n\n const listener = oneEvent(el, 'nile-change');\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n const option1 = el.querySelector<NileOption>('nile-option[value=\"option1\"]');\n option1?.dispatchEvent(mouseUpEvent);\n \n const event = await listener;\n expect(event.detail.value).to.equal('option1');\n });\n\n it('should not open when disabled', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select disabled>\n <nile-option value=\"option1\">Option 1</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n const popup = el.shadowRoot?.querySelector('.select');\n expect(popup?.classList.contains('select--open')).to.be.false;\n });\n\n it('should display the search bar if searchEnabled is true', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select searchEnabled>\n <nile-option value=\"option1\">Option 1</nile-option>\n <nile-option value=\"option2\">Option 2</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>(\"div.select__combobox\");\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n const searchBar = el.shadowRoot?.querySelector('.select__search');\n expect(searchBar).to.exist;\n });\n\n it('should show \"No results found\" when searching for an invalid query', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select searchEnabled>\n <nile-option value=\"option1\">Option 1</nile-option>\n <nile-option value=\"option2\">Option 2</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>('.select__combobox');\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await elementUpdated(el);\n\n // Simulate typing an invalid search query\n const searchInput = el.shadowRoot?.querySelector<NileInput>('.select__search nile-input');\n if (searchInput) {\n searchInput.value = 'invalid';\n searchInput.dispatchEvent(new CustomEvent('nile-input',{detail:{value:'invalid'}}));\n }\n await elementUpdated(el);\n\n const noResultsMessage = el.shadowRoot?.querySelector('.select__no-results');\n expect(noResultsMessage).to.exist;\n expect(noResultsMessage?.textContent?.trim()).to.equal('No results found');\n });\n\n\n it('should allow selecting multiple options, display the selected count, and clear selections when clear button is clicked', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select multiple clearable>\n <nile-option value=\"1\">Option 1</nile-option>\n <nile-option value=\"2\">Option 2</nile-option>\n <nile-option value=\"3\">Option 3</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>('.select__combobox');\n const options = el.querySelectorAll('nile-option');\n const displayInput = el.shadowRoot?.querySelector<NileInput>('.select__display-input');\n\n // Open the dropdown\n combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n await el.updateComplete;\n\n // Select the first two options\n options[0].dispatchEvent(mouseUpEvent);\n options[1].dispatchEvent(mouseUpEvent);\n await el.updateComplete;\n\n // Verify the display label reflects the number of selected options\n expect(displayInput?.value).to.equal('2 selected');\n\n // Check that the clearable button is visible\n const clearButton = el.shadowRoot?.querySelector<HTMLElement>('.select__clear');\n console.log(clearButton)\n expect(clearButton).to.exist;\n\n // Click the clear button\n clearButton?.click();\n await el.updateComplete;\n\n // Verify the display label is cleared and placeholder is shown\n expect(displayInput?.value).to.equal('');\n\n // Verify that no options are selected\n expect(Array.from(options).every(option => !option.selected)).to.be.true;\n });\n\n it('should allow selecting multiple options, clearing selections, and handling backspace to deselect the last selected option', async () => {\n const el = await fixture<NileSelect>(html`\n <nile-select multiple clearable>\n <nile-option value=\"option1\">Option 1</nile-option>\n <nile-option value=\"option2\">Option 2</nile-option>\n <nile-option value=\"option3\">Option 3</nile-option>\n </nile-select>\n `);\n\n const combobox = el.shadowRoot?.querySelector<HTMLElement>('div.select__combobox');\n const options = el.querySelectorAll('nile-option');\n const displayInput = el.shadowRoot?.querySelector<NileInput>('.select__display-input');\n const clearButton = el.shadowRoot?.querySelector<HTMLButtonElement>('.select__clear');\n\n // Open the dropdown and select three options\n combobox?.click();\n await el.updateComplete;\n \n options[0].dispatchEvent(mouseUpEvent);\n options[1].dispatchEvent(mouseUpEvent);\n options[2].dispatchEvent(mouseUpEvent);\n await el.updateComplete;\n\n // Verify that three options are selected\n expect(displayInput?.value).to.equal('3 selected');\n expect(Array.from(options).every(option => option.selected)).to.be.true;\n\n // // Reopen dropdown, select three options again\n // combobox?.dispatchEvent(keyboardEvent); // Simulate click to open the dropdown\n // await el.updateComplete;\n\n // options[0].dispatchEvent(mouseUpEvent);\n // options[1].dispatchEvent(mouseUpEvent);\n options[2].dispatchEvent(mouseUpEvent);\n await el.updateComplete;\n\n // Verify only the first two options are selected\n expect(options[0].selected).to.be.true;\n expect(options[1].selected).to.be.true;\n expect(options[2].selected).to.be.false;\n\n // Verify display label reflects two selected options\n expect(displayInput?.value).to.equal('2 selected');\n });\n\n});\n"]}
@@ -2,6 +2,7 @@ import { CSSResultGroup } from 'lit';
2
2
  import NileElement from '../internal/nile-element';
3
3
  export declare class NileSlideToggle extends NileElement {
4
4
  static styles: CSSResultGroup;
5
+ protected BUBBLES: boolean;
5
6
  label: string;
6
7
  sublabel: string;
7
8
  textPosition: 'left' | 'right';
@@ -6,6 +6,7 @@ import { classMap } from 'lit/directives/class-map.js';
6
6
  let NileSlideToggle = class NileSlideToggle extends NileElement {
7
7
  constructor() {
8
8
  super(...arguments);
9
+ this.BUBBLES = false;
9
10
  this.label = '';
10
11
  this.sublabel = '';
11
12
  this.textPosition = 'right';
@@ -80,13 +81,13 @@ __decorate([
80
81
  property({ type: String })
81
82
  ], NileSlideToggle.prototype, "sublabel", void 0);
82
83
  __decorate([
83
- property({ type: String, attribute: 'text-position' })
84
+ property({ type: String, })
84
85
  ], NileSlideToggle.prototype, "textPosition", void 0);
85
86
  __decorate([
86
87
  property({ type: Boolean, reflect: true })
87
88
  ], NileSlideToggle.prototype, "isChecked", void 0);
88
89
  __decorate([
89
- property({ type: Boolean, reflect: true, attribute: 'full-width' })
90
+ property({ type: Boolean, reflect: true })
90
91
  ], NileSlideToggle.prototype, "fullWidth", void 0);
91
92
  __decorate([
92
93
  property({ type: Boolean, reflect: true })
@@ -1 +1 @@
1
- {"version":3,"file":"nile-slide-toggle.js","sourceRoot":"","sources":["../../../src/nile-slide-toggle/nile-slide-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, PropertyValues } from 'lit';\nimport { LitElement, html, property, customElement } from 'lit-element';\nimport styles from './nile-slide-toggle.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\n\n@customElement('nile-slide-toggle')\nexport class NileSlideToggle extends NileElement {\n public static styles: CSSResultGroup = styles;\n\n @property({ type: String }) label = '';\n\n @property({ type: String }) sublabel = '';\n\n @property({ type: String, attribute:'text-position' }) textPosition:'left' | 'right' = 'right';\n\n @property({ type: Boolean, reflect: true }) isChecked = false;\n\n @property({ type: Boolean, reflect: true, attribute:'full-width' }) fullWidth = false;\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n this.style.setProperty('--slide-toggle-width',this.fullWidth?'100%':'auto')\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n toggleValue() {\n this.isChecked = !this.isChecked;\n this.emit('change',{ checked: this.isChecked });\n this.emit('nile-change',{ checked: this.isChecked });\n }\n\n public render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <div\n class=${classMap({\n 'nile-slide-toggle': true,\n 'nile-slide--disabled': this.disabled,\n 'nile-slide-toggle--reverse':this.textPosition=='left'\n })}\n >\n <label \n class=\"${classMap({\n 'nile-slide-toggle__switch':true,\n 'nile-slide-toggle__switch--left':this.textPosition=='right',\n 'nile-slide-toggle__switch--right':this.textPosition=='left',\n })}\"\n class=\"nile-slide-toggle__switch\">\n <input\n type=\"checkbox\"\n .checked=${this.isChecked}\n @change=${this.toggleValue}\n />\n <span class=\"nile-slide-toggle__slider\"></span>\n </label>\n <span class=\"nile-slide-toggle__label\">\n <span>${this.label}</span>\n <span class=\"nile-slide-toggle__sublabel\">${this.sublabel}</span>\n </span>\n </div>\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-slide-toggle.js","sourceRoot":"","sources":["../../../src/nile-slide-toggle/nile-slide-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup, PropertyValues } from 'lit';\nimport { LitElement, html, property, customElement } from 'lit-element';\nimport styles from './nile-slide-toggle.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\n\n@customElement('nile-slide-toggle')\nexport class NileSlideToggle extends NileElement {\n public static styles: CSSResultGroup = styles;\n\n protected override BUBBLES: boolean=false;\n\n @property({ type: String }) label = '';\n\n @property({ type: String }) sublabel = '';\n\n @property({ type: String, }) textPosition:'left' | 'right' = 'right';\n\n @property({ type: Boolean, reflect: true }) isChecked = false;\n\n @property({ type: Boolean, reflect: true }) fullWidth = false;\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n this.style.setProperty('--slide-toggle-width',this.fullWidth?'100%':'auto')\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n toggleValue() {\n this.isChecked = !this.isChecked;\n this.emit('change',{ checked: this.isChecked });\n this.emit('nile-change',{ checked: this.isChecked });\n }\n\n public render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <div\n class=${classMap({\n 'nile-slide-toggle': true,\n 'nile-slide--disabled': this.disabled,\n 'nile-slide-toggle--reverse':this.textPosition=='left'\n })}\n >\n <label \n class=\"${classMap({\n 'nile-slide-toggle__switch':true,\n 'nile-slide-toggle__switch--left':this.textPosition=='right',\n 'nile-slide-toggle__switch--right':this.textPosition=='left',\n })}\"\n class=\"nile-slide-toggle__switch\">\n <input\n type=\"checkbox\"\n .checked=${this.isChecked}\n @change=${this.toggleValue}\n />\n <span class=\"nile-slide-toggle__slider\"></span>\n </label>\n <span class=\"nile-slide-toggle__label\">\n <span>${this.label}</span>\n <span class=\"nile-slide-toggle__sublabel\">${this.sublabel}</span>\n </span>\n </div>\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n"]}
@@ -29,6 +29,7 @@ import type { CSSResultGroup } from 'lit';
29
29
  */
30
30
  export declare class NileSplitPanel extends NileElement {
31
31
  static styles: CSSResultGroup;
32
+ protected BUBBLES: boolean;
32
33
  private cachedPositionInPixels;
33
34
  private resizeObserver;
34
35
  private size;
@@ -36,6 +36,7 @@ import { watch } from '../internal/watch';
36
36
  let NileSplitPanel = class NileSplitPanel extends NileElement {
37
37
  constructor() {
38
38
  super(...arguments);
39
+ this.BUBBLES = false;
39
40
  /**
40
41
  * The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the
41
42
  * container's initial size.
@@ -1 +1 @@
1
- {"version":3,"file":"nile-split-panel.js","sourceRoot":"","sources":["../../../src/nile-split-panel/nile-split-panel.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 {LitElement, CSSResultArray, TemplateResult} from 'lit-element';\nimport {styles} from './nile-split-panel.css';\nimport NileElement from '../internal/nile-element';\n\n\nimport { clamp } from '../internal/math';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { drag } from '../internal/drag';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { watch } from '../internal/watch';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Split panels display two adjacent panels, allowing the user to reposition them.\n *\n * @event nile-reposition - Emitted when the divider's position changes.\n *\n * @slot start - Content to place in the start panel.\n * @slot end - Content to place in the end panel.\n * @slot divider - The divider. Useful for slotting in a custom icon that renders as a handle.\n *\n * @csspart start - The start panel.\n * @csspart end - The end panel.\n * @csspart panel - Targets both the start and end panels.\n * @csspart divider - The divider that separates the start and end panels.\n *\n * @cssproperty [--divider-width=4px] - The width of the visible divider.\n * @cssproperty [--divider-hit-area=12px] - The invisible region around the divider where dragging can occur. This is\n * usually wider than the divider to facilitate easier dragging.\n * @cssproperty [--min=0] - The minimum allowed size of the primary panel.\n * @cssproperty [--max=100%] - The maximum allowed size of the primary panel.\n */\n@customElement('nile-split-panel')\nexport class NileSplitPanel extends NileElement {\n\n\tstatic styles: CSSResultGroup = styles;\n\n private cachedPositionInPixels: number;\n private resizeObserver: ResizeObserver;\n private size: number;\n\n @query('.divider') divider: HTMLElement;\n\n /**\n * The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the\n * container's initial size.\n */\n @property({ type: Number, reflect: true }) position = 50;\n\n /** The current position of the divider from the primary panel's edge in pixels. */\n @property({ attribute: 'position-in-pixels', type: Number }) positionInPixels: number;\n\n /** Draws the split panel in a vertical orientation with the start and end panels stacked. */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /** Disables resizing. Note that the position may still change as a result of resizing the host element. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * If no primary panel is designated, both panels will resize proportionally when the host element is resized. If a\n * primary panel is designated, it will maintain its size and the other panel will grow or shrink as needed when the\n * host element is resized.\n */\n @property() primary?: 'start' | 'end';\n\n /**\n * One or more space-separated values at which the divider should snap. Values can be in pixels or percentages, e.g.\n * `\"100px 50%\"`.\n */\n @property() snap?: string;\n\n /** How close the divider must be to a snap point until snapping occurs. */\n @property({ type: Number, attribute: 'snap-threshold' }) snapThreshold = 12;\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(entries => this.handleResize(entries));\n this.updateComplete.then(() => this.resizeObserver.observe(this));\n\n this.detectSize();\n this.cachedPositionInPixels = this.percentageToPixels(this.position);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this);\n }\n\n private detectSize() {\n const { width, height } = this.getBoundingClientRect();\n this.size = this.vertical ? height : width;\n }\n\n private percentageToPixels(value: number) {\n return this.size * (value / 100);\n }\n\n private pixelsToPercentage(value: number) {\n return (value / this.size) * 100;\n }\n\n private handleDrag(event: PointerEvent) {\n const isRtl = false;\n\n if (this.disabled) {\n return;\n }\n\n // Prevent text selection when dragging\n if (event.cancelable) {\n event.preventDefault();\n }\n\n drag(this, {\n onMove: (x, y) => {\n let newPositionInPixels = this.vertical ? y : x;\n\n // Flip for end panels\n if (this.primary === 'end') {\n newPositionInPixels = this.size - newPositionInPixels;\n }\n\n // Check snap points\n if (this.snap) {\n const snaps = this.snap.split(' ');\n\n snaps.forEach(value => {\n let snapPoint: number;\n\n if (value.endsWith('%')) {\n snapPoint = this.size * (parseFloat(value) / 100);\n } else {\n snapPoint = parseFloat(value);\n }\n\n if (isRtl && !this.vertical) {\n snapPoint = this.size - snapPoint;\n }\n\n if (\n newPositionInPixels >= snapPoint - this.snapThreshold &&\n newPositionInPixels <= snapPoint + this.snapThreshold\n ) {\n newPositionInPixels = snapPoint;\n }\n });\n }\n\n this.position = clamp(this.pixelsToPercentage(newPositionInPixels), 0, 100);\n },\n initialEvent: event\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n let newPosition = this.position;\n const incr = (event.shiftKey ? 10 : 1) * (this.primary === 'end' ? -1 : 1);\n\n event.preventDefault();\n\n if ((event.key === 'ArrowLeft' && !this.vertical) || (event.key === 'ArrowUp' && this.vertical)) {\n newPosition -= incr;\n }\n\n if ((event.key === 'ArrowRight' && !this.vertical) || (event.key === 'ArrowDown' && this.vertical)) {\n newPosition += incr;\n }\n\n if (event.key === 'Home') {\n newPosition = this.primary === 'end' ? 100 : 0;\n }\n\n if (event.key === 'End') {\n newPosition = this.primary === 'end' ? 0 : 100;\n }\n\n this.position = clamp(newPosition, 0, 100);\n }\n }\n\n private handleResize(entries: ResizeObserverEntry[]) {\n const { width, height } = entries[0].contentRect;\n this.size = this.vertical ? height : width;\n\n // Resize when a primary panel is set\n if (this.primary) {\n this.position = this.pixelsToPercentage(this.cachedPositionInPixels);\n }\n }\n\n @watch('position')\n handlePositionChange() {\n this.cachedPositionInPixels = this.percentageToPixels(this.position);\n this.positionInPixels = this.percentageToPixels(this.position);\n this.emit('nile-reposition');\n }\n\n @watch('positionInPixels')\n handlePositionInPixelsChange() {\n this.position = this.pixelsToPercentage(this.positionInPixels);\n }\n\n @watch('vertical')\n handleVerticalChange() {\n this.detectSize();\n }\n\n render() {\n const gridTemplate = this.vertical ? 'gridTemplateRows' : 'gridTemplateColumns';\n const gridTemplateAlt = this.vertical ? 'gridTemplateColumns' : 'gridTemplateRows';\n const isRtl = false;\n const primary = `\n clamp(\n 0%,\n clamp(\n var(--min),\n ${this.position}% - var(--divider-width) / 2,\n var(--max)\n ),\n calc(100% - var(--divider-width))\n )\n `;\n const secondary = 'auto';\n\n if (this.primary === 'end') {\n if (isRtl && !this.vertical) {\n this.style[gridTemplate] = `${primary} var(--divider-width) ${secondary}`;\n } else {\n this.style[gridTemplate] = `${secondary} var(--divider-width) ${primary}`;\n }\n } else {\n if (isRtl && !this.vertical) {\n this.style[gridTemplate] = `${secondary} var(--divider-width) ${primary}`;\n } else {\n this.style[gridTemplate] = `${primary} var(--divider-width) ${secondary}`;\n }\n }\n\n // Unset the alt grid template property\n this.style[gridTemplateAlt] = '';\n\n return html`\n <slot name=\"start\" part=\"panel start\" class=\"start\"></slot>\n\n <div\n part=\"divider\"\n class=\"divider\"\n tabindex=${ifDefined(this.disabled ? undefined : '0')}\n role=\"separator\"\n aria-valuenow=${this.position}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label=\"resize\"\n @keydown=${this.handleKeyDown}\n @mousedown=${this.handleDrag}\n @touchstart=${this.handleDrag}\n >\n <slot name=\"divider\"></slot>\n </div>\n\n <slot name=\"end\" part=\"panel end\" class=\"end\"></slot>\n `;\n }\n}\n\nexport default NileSplitPanel;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-split-panel': NileSplitPanel;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-split-panel.js","sourceRoot":"","sources":["../../../src/nile-split-panel/nile-split-panel.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 {LitElement, CSSResultArray, TemplateResult} from 'lit-element';\nimport {styles} from './nile-split-panel.css';\nimport NileElement from '../internal/nile-element';\n\n\nimport { clamp } from '../internal/math';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { drag } from '../internal/drag';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { watch } from '../internal/watch';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Split panels display two adjacent panels, allowing the user to reposition them.\n *\n * @event nile-reposition - Emitted when the divider's position changes.\n *\n * @slot start - Content to place in the start panel.\n * @slot end - Content to place in the end panel.\n * @slot divider - The divider. Useful for slotting in a custom icon that renders as a handle.\n *\n * @csspart start - The start panel.\n * @csspart end - The end panel.\n * @csspart panel - Targets both the start and end panels.\n * @csspart divider - The divider that separates the start and end panels.\n *\n * @cssproperty [--divider-width=4px] - The width of the visible divider.\n * @cssproperty [--divider-hit-area=12px] - The invisible region around the divider where dragging can occur. This is\n * usually wider than the divider to facilitate easier dragging.\n * @cssproperty [--min=0] - The minimum allowed size of the primary panel.\n * @cssproperty [--max=100%] - The maximum allowed size of the primary panel.\n */\n@customElement('nile-split-panel')\nexport class NileSplitPanel extends NileElement {\n\n\tstatic styles: CSSResultGroup = styles;\n\n protected override BUBBLES: boolean=false;\n\n private cachedPositionInPixels: number;\n private resizeObserver: ResizeObserver;\n private size: number;\n\n @query('.divider') divider: HTMLElement;\n\n /**\n * The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the\n * container's initial size.\n */\n @property({ type: Number, reflect: true }) position = 50;\n\n /** The current position of the divider from the primary panel's edge in pixels. */\n @property({ attribute: 'position-in-pixels', type: Number }) positionInPixels: number;\n\n /** Draws the split panel in a vertical orientation with the start and end panels stacked. */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /** Disables resizing. Note that the position may still change as a result of resizing the host element. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * If no primary panel is designated, both panels will resize proportionally when the host element is resized. If a\n * primary panel is designated, it will maintain its size and the other panel will grow or shrink as needed when the\n * host element is resized.\n */\n @property() primary?: 'start' | 'end';\n\n /**\n * One or more space-separated values at which the divider should snap. Values can be in pixels or percentages, e.g.\n * `\"100px 50%\"`.\n */\n @property() snap?: string;\n\n /** How close the divider must be to a snap point until snapping occurs. */\n @property({ type: Number, attribute: 'snap-threshold' }) snapThreshold = 12;\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(entries => this.handleResize(entries));\n this.updateComplete.then(() => this.resizeObserver.observe(this));\n\n this.detectSize();\n this.cachedPositionInPixels = this.percentageToPixels(this.position);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this);\n }\n\n private detectSize() {\n const { width, height } = this.getBoundingClientRect();\n this.size = this.vertical ? height : width;\n }\n\n private percentageToPixels(value: number) {\n return this.size * (value / 100);\n }\n\n private pixelsToPercentage(value: number) {\n return (value / this.size) * 100;\n }\n\n private handleDrag(event: PointerEvent) {\n const isRtl = false;\n\n if (this.disabled) {\n return;\n }\n\n // Prevent text selection when dragging\n if (event.cancelable) {\n event.preventDefault();\n }\n\n drag(this, {\n onMove: (x, y) => {\n let newPositionInPixels = this.vertical ? y : x;\n\n // Flip for end panels\n if (this.primary === 'end') {\n newPositionInPixels = this.size - newPositionInPixels;\n }\n\n // Check snap points\n if (this.snap) {\n const snaps = this.snap.split(' ');\n\n snaps.forEach(value => {\n let snapPoint: number;\n\n if (value.endsWith('%')) {\n snapPoint = this.size * (parseFloat(value) / 100);\n } else {\n snapPoint = parseFloat(value);\n }\n\n if (isRtl && !this.vertical) {\n snapPoint = this.size - snapPoint;\n }\n\n if (\n newPositionInPixels >= snapPoint - this.snapThreshold &&\n newPositionInPixels <= snapPoint + this.snapThreshold\n ) {\n newPositionInPixels = snapPoint;\n }\n });\n }\n\n this.position = clamp(this.pixelsToPercentage(newPositionInPixels), 0, 100);\n },\n initialEvent: event\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n return;\n }\n\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n let newPosition = this.position;\n const incr = (event.shiftKey ? 10 : 1) * (this.primary === 'end' ? -1 : 1);\n\n event.preventDefault();\n\n if ((event.key === 'ArrowLeft' && !this.vertical) || (event.key === 'ArrowUp' && this.vertical)) {\n newPosition -= incr;\n }\n\n if ((event.key === 'ArrowRight' && !this.vertical) || (event.key === 'ArrowDown' && this.vertical)) {\n newPosition += incr;\n }\n\n if (event.key === 'Home') {\n newPosition = this.primary === 'end' ? 100 : 0;\n }\n\n if (event.key === 'End') {\n newPosition = this.primary === 'end' ? 0 : 100;\n }\n\n this.position = clamp(newPosition, 0, 100);\n }\n }\n\n private handleResize(entries: ResizeObserverEntry[]) {\n const { width, height } = entries[0].contentRect;\n this.size = this.vertical ? height : width;\n\n // Resize when a primary panel is set\n if (this.primary) {\n this.position = this.pixelsToPercentage(this.cachedPositionInPixels);\n }\n }\n\n @watch('position')\n handlePositionChange() {\n this.cachedPositionInPixels = this.percentageToPixels(this.position);\n this.positionInPixels = this.percentageToPixels(this.position);\n this.emit('nile-reposition');\n }\n\n @watch('positionInPixels')\n handlePositionInPixelsChange() {\n this.position = this.pixelsToPercentage(this.positionInPixels);\n }\n\n @watch('vertical')\n handleVerticalChange() {\n this.detectSize();\n }\n\n render() {\n const gridTemplate = this.vertical ? 'gridTemplateRows' : 'gridTemplateColumns';\n const gridTemplateAlt = this.vertical ? 'gridTemplateColumns' : 'gridTemplateRows';\n const isRtl = false;\n const primary = `\n clamp(\n 0%,\n clamp(\n var(--min),\n ${this.position}% - var(--divider-width) / 2,\n var(--max)\n ),\n calc(100% - var(--divider-width))\n )\n `;\n const secondary = 'auto';\n\n if (this.primary === 'end') {\n if (isRtl && !this.vertical) {\n this.style[gridTemplate] = `${primary} var(--divider-width) ${secondary}`;\n } else {\n this.style[gridTemplate] = `${secondary} var(--divider-width) ${primary}`;\n }\n } else {\n if (isRtl && !this.vertical) {\n this.style[gridTemplate] = `${secondary} var(--divider-width) ${primary}`;\n } else {\n this.style[gridTemplate] = `${primary} var(--divider-width) ${secondary}`;\n }\n }\n\n // Unset the alt grid template property\n this.style[gridTemplateAlt] = '';\n\n return html`\n <slot name=\"start\" part=\"panel start\" class=\"start\"></slot>\n\n <div\n part=\"divider\"\n class=\"divider\"\n tabindex=${ifDefined(this.disabled ? undefined : '0')}\n role=\"separator\"\n aria-valuenow=${this.position}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label=\"resize\"\n @keydown=${this.handleKeyDown}\n @mousedown=${this.handleDrag}\n @touchstart=${this.handleDrag}\n >\n <slot name=\"divider\"></slot>\n </div>\n\n <slot name=\"end\" part=\"panel end\" class=\"end\"></slot>\n `;\n }\n}\n\nexport default NileSplitPanel;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-split-panel': NileSplitPanel;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ import './nile-split-panel';
@@ -0,0 +1,4 @@
1
+ import './nile-split-panel';
2
+ describe('NileSplitPanel', () => {
3
+ });
4
+ //# sourceMappingURL=nile-split-panel.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-split-panel.test.js","sourceRoot":"","sources":["../../../src/nile-split-panel/nile-split-panel.test.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,CAAA;AAG3B,QAAQ,CAAC,gBAAgB,EAAC,GAAE,EAAE;AAE9B,CAAC,CAAC,CAAA","sourcesContent":["import { expect, fixture, html, oneEvent } from '@open-wc/testing';\nimport './nile-split-panel'\nimport NileSplitPanel from './nile-split-panel';\n\ndescribe('NileSplitPanel',()=>{\n\t\n})"]}
@@ -13,6 +13,7 @@ import NileElement from '../internal/nile-element';
13
13
  *
14
14
  */
15
15
  export declare class NileStepper extends NileElement {
16
+ protected BUBBLES: boolean;
16
17
  isVertical: boolean;
17
18
  contentBelow: boolean;
18
19
  currentStep: number;
@@ -20,6 +20,7 @@ import { classMap } from 'lit/directives/class-map.js';
20
20
  let NileStepper = class NileStepper extends NileElement {
21
21
  constructor() {
22
22
  super(...arguments);
23
+ this.BUBBLES = false;
23
24
  this.isVertical = false;
24
25
  this.contentBelow = false;
25
26
  this.currentStep = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-stepper.js","sourceRoot":"","sources":["../../../src/nile-stepper/nile-stepper.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 { LitElement, html, property, CSSResultArray, TemplateResult } from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-stepper.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { classMap } from 'lit/directives/class-map.js';\n\n\n/**\n * Nile stepper component.\n *\n * @tag nile-stepper\n *\n */\n@customElement('nile-stepper')\nexport class NileStepper extends NileElement {\n\n\t@property({ type: Boolean, attribute: 'vertical' }) isVertical: boolean = false;\n\t@property({ type: Boolean, attribute: 'content-below', reflect:true }) contentBelow: boolean = false;\n\t@property({ type: Number, attribute: 'currentStep', reflect:true }) currentStep: number = 0;\n\t@property({ type: Number, attribute: 'completedStep', reflect:true }) completedStep: number = 0;\n\t@property({ type: String, attribute: 'size', reflect:true }) size: 'sm' | 'md' | 'lg' = 'md';\n\t@property() icon: string = 'tick';\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.updateComplete.then(() => {\n\t\t\tthis.updateItems();\n\t\t});\n\t}\n\n\t@watch('currentStep')\n\thandleCurrentStepChanges() {\n\t\tthis.updateItems();\n\t\tthis.emit('nile-current-change', { value: this.currentStep });\n\t}\n\n\t@watch('completedStep')\n\thandleCompletedStepChanges() {\n\t\tthis.updateItems()\n\t\tthis.emit('nile-completed-change', { value: this.completedStep });\n\t}\n\n\tprivate updateItems() {\n\t\tconst items: any = [...this.querySelectorAll(this.isVertical?'nile-vertical-stepper-item':'nile-stepper-item')];\n\t\tif (!items.length) return;\n\t\tconst haveFlex = items.length < 3;\n\n\t\tconst current = (this.currentStep == 0 || this.currentStep > items.length) ? 1 : this.currentStep;\n\t\tconst calculatedCompleted = this.completedStep > items.length ? current : this.completedStep < current ? current : this.completedStep;\n\t\tconst completed = this.completedStep > items.length ? 0 : this.completedStep;\n\n\t\titems.forEach((el: any, index: number) => {\n\t\t\t// set item is complete and is current values\n\t\t\tif (index + 1 < current) {\n\t\t\t\tel.isComplete = true;\n\t\t\t\tel.isCurrent = false;\n\t\t\t}\n\t\t\telse if (index + 1 == current) {\n\t\t\t\tif (index + 1 <= calculatedCompleted) el.isComplete = true;\n\t\t\t\telse el.isComplete = false;\n\t\t\t\tel.isCurrent = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (index + 1 <= calculatedCompleted) el.isComplete = true;\n\t\t\t\telse el.isComplete = false;\n\t\t\t\tel.isCurrent = false;\n\t\t\t}\n\n\t\t\t// Set isLast and isFirst\n\t\t\tif (index == 0) el.isFirst = true;\n\t\t\tif (index == items.length - 1) el.isLast = true;\n\n\t\t\t// setting default values\n\t\t\tel.currentStepValue = current;\n\t\t\tel.calculatedCompletedStepValue = calculatedCompleted;\n\t\t\tel.completedStepValue = completed;\n\n\t\t\tel.icon = this.icon;\n\t\t\tel.size = this.size;\n\t\t\tel.value = index + 1;\n\t\t\tel.contentBelow = this.contentBelow\n\t\t\tif (index == 0 || index == items.length - 1) {\n\t\t\t\tel.haveFlex = haveFlex;\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * The styles for nile-stepper\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\t/* #region Methods */\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t<div class=${classMap({\n\t\t\t\t'nile-stepper':true,\n\t\t\t\t'nile-stepper--horizontal':!this.isVertical,\n\t\t\t\t'nile-stepper--vertical':this.isVertical\n\t\t\t})}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${this.updateItems}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileStepper;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-stepper': NileStepper;\n\t}\n}\n"]}
1
+ {"version":3,"file":"nile-stepper.js","sourceRoot":"","sources":["../../../src/nile-stepper/nile-stepper.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 { LitElement, html, property, CSSResultArray, TemplateResult } from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-stepper.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { classMap } from 'lit/directives/class-map.js';\n\n\n/**\n * Nile stepper component.\n *\n * @tag nile-stepper\n *\n */\n@customElement('nile-stepper')\nexport class NileStepper extends NileElement {\n\n protected override BUBBLES: boolean=false;\n\n\t@property({ type: Boolean, attribute: 'vertical' }) isVertical: boolean = false;\n\t@property({ type: Boolean, attribute: 'content-below', reflect:true }) contentBelow: boolean = false;\n\t@property({ type: Number, attribute: 'currentStep', reflect:true }) currentStep: number = 0;\n\t@property({ type: Number, attribute: 'completedStep', reflect:true }) completedStep: number = 0;\n\t@property({ type: String, attribute: 'size', reflect:true }) size: 'sm' | 'md' | 'lg' = 'md';\n\t@property() icon: string = 'tick';\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.updateComplete.then(() => {\n\t\t\tthis.updateItems();\n\t\t});\n\t}\n\n\t@watch('currentStep')\n\thandleCurrentStepChanges() {\n\t\tthis.updateItems();\n\t\tthis.emit('nile-current-change', { value: this.currentStep });\n\t}\n\n\t@watch('completedStep')\n\thandleCompletedStepChanges() {\n\t\tthis.updateItems()\n\t\tthis.emit('nile-completed-change', { value: this.completedStep });\n\t}\n\n\tprivate updateItems() {\n\t\tconst items: any = [...this.querySelectorAll(this.isVertical?'nile-vertical-stepper-item':'nile-stepper-item')];\n\t\tif (!items.length) return;\n\t\tconst haveFlex = items.length < 3;\n\n\t\tconst current = (this.currentStep == 0 || this.currentStep > items.length) ? 1 : this.currentStep;\n\t\tconst calculatedCompleted = this.completedStep > items.length ? current : this.completedStep < current ? current : this.completedStep;\n\t\tconst completed = this.completedStep > items.length ? 0 : this.completedStep;\n\n\t\titems.forEach((el: any, index: number) => {\n\t\t\t// set item is complete and is current values\n\t\t\tif (index + 1 < current) {\n\t\t\t\tel.isComplete = true;\n\t\t\t\tel.isCurrent = false;\n\t\t\t}\n\t\t\telse if (index + 1 == current) {\n\t\t\t\tif (index + 1 <= calculatedCompleted) el.isComplete = true;\n\t\t\t\telse el.isComplete = false;\n\t\t\t\tel.isCurrent = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (index + 1 <= calculatedCompleted) el.isComplete = true;\n\t\t\t\telse el.isComplete = false;\n\t\t\t\tel.isCurrent = false;\n\t\t\t}\n\n\t\t\t// Set isLast and isFirst\n\t\t\tif (index == 0) el.isFirst = true;\n\t\t\tif (index == items.length - 1) el.isLast = true;\n\n\t\t\t// setting default values\n\t\t\tel.currentStepValue = current;\n\t\t\tel.calculatedCompletedStepValue = calculatedCompleted;\n\t\t\tel.completedStepValue = completed;\n\n\t\t\tel.icon = this.icon;\n\t\t\tel.size = this.size;\n\t\t\tel.value = index + 1;\n\t\t\tel.contentBelow = this.contentBelow\n\t\t\tif (index == 0 || index == items.length - 1) {\n\t\t\t\tel.haveFlex = haveFlex;\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * The styles for nile-stepper\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\t/* #region Methods */\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t<div class=${classMap({\n\t\t\t\t'nile-stepper':true,\n\t\t\t\t'nile-stepper--horizontal':!this.isVertical,\n\t\t\t\t'nile-stepper--vertical':this.isVertical\n\t\t\t})}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${this.updateItems}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileStepper;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-stepper': NileStepper;\n\t}\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import './nile-stepper';
2
+ import "./nile-stepper";
3
+ import "../nile-stepper-item/nile-stepper-item";
4
+ import "../nile-vertical-stepper-item/nile-vertical-stepper-item";