@aquera/nile-elements 0.0.80 → 0.0.82

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 (483) hide show
  1. package/README.md +12 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +54 -0
  4. package/demo/variables_v2.css +51 -0
  5. package/dist/fixture-1a9fb5f1.cjs.js +395 -0
  6. package/dist/fixture-1a9fb5f1.cjs.js.map +1 -0
  7. package/dist/fixture-81e5a936.esm.js +569 -0
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.esm.js +1 -1
  10. package/dist/index.iife.js +976 -563
  11. package/dist/internal/animate.cjs.js +1 -1
  12. package/dist/internal/animate.cjs.js.map +1 -1
  13. package/dist/internal/animate.esm.js +1 -1
  14. package/dist/internal/drag.cjs.js +2 -0
  15. package/dist/internal/drag.cjs.js.map +1 -0
  16. package/dist/internal/drag.esm.js +1 -0
  17. package/dist/internal/math.cjs.js +2 -0
  18. package/dist/internal/math.cjs.js.map +1 -0
  19. package/dist/internal/math.esm.js +1 -0
  20. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  21. package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
  22. package/dist/nile-avatar/nile-avatar.css.esm.js +7 -8
  23. package/dist/nile-avatar/nile-avatar.test.cjs.js +2 -0
  24. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -0
  25. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -0
  26. package/dist/nile-badge/index.cjs.js +1 -1
  27. package/dist/nile-badge/index.esm.js +1 -1
  28. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  29. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  30. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.css.esm.js +47 -47
  33. package/dist/nile-badge/nile-badge.esm.js +1 -1
  34. package/dist/nile-badge/nile-badge.test.cjs.js +2 -0
  35. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -0
  36. package/dist/nile-badge/nile-badge.test.esm.js +1 -0
  37. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
  38. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
  39. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +3 -4
  40. package/dist/nile-button/index.cjs.js +1 -1
  41. package/dist/nile-button/index.esm.js +1 -1
  42. package/dist/nile-button/nile-button.cjs.js +1 -1
  43. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  44. package/dist/nile-button/nile-button.esm.js +1 -1
  45. package/dist/nile-button/nile-button.test.cjs.js +2 -0
  46. package/dist/nile-button/nile-button.test.cjs.js.map +1 -0
  47. package/dist/nile-button/nile-button.test.esm.js +4 -0
  48. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +2 -0
  49. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js.map +1 -0
  50. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +49 -0
  51. package/dist/nile-calendar/index.cjs.js +1 -1
  52. package/dist/nile-calendar/index.esm.js +1 -1
  53. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  54. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  55. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  56. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  57. package/dist/nile-calendar/nile-calendar.css.esm.js +122 -191
  58. package/dist/nile-calendar/nile-calendar.esm.js +135 -135
  59. package/dist/nile-card/nile-card.test.cjs.js +2 -0
  60. package/dist/nile-card/nile-card.test.cjs.js.map +1 -0
  61. package/dist/nile-card/nile-card.test.esm.js +51 -0
  62. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -394
  63. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -1
  64. package/dist/nile-checkbox/nile-checkbox.test.esm.js +3 -571
  65. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  66. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  67. package/dist/nile-date-picker/nile-date-picker.esm.js +1 -1
  68. package/dist/nile-dialog/index.cjs.js +1 -1
  69. package/dist/nile-dialog/index.esm.js +1 -1
  70. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  71. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  72. package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
  73. package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
  74. package/dist/nile-dialog/nile-dialog.css.esm.js +4 -1
  75. package/dist/nile-dialog/nile-dialog.esm.js +5 -4
  76. package/dist/nile-drawer/index.cjs.js +1 -1
  77. package/dist/nile-drawer/index.esm.js +1 -1
  78. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  79. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  80. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  81. package/dist/nile-drawer/nile-drawer.test.cjs.js +2 -0
  82. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -0
  83. package/dist/nile-drawer/nile-drawer.test.esm.js +18 -0
  84. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +2 -0
  85. package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +1 -0
  86. package/dist/nile-empty-state/nile-empty-state.test.esm.js +9 -0
  87. package/dist/nile-error-message/nile-error-message.test.cjs.js +2 -0
  88. package/dist/nile-error-message/nile-error-message.test.cjs.js.map +1 -0
  89. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -0
  90. package/dist/nile-form-group/nile-form-group.test.cjs.js +2 -0
  91. package/dist/nile-form-group/nile-form-group.test.cjs.js.map +1 -0
  92. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -0
  93. package/dist/nile-hero/nile-hero.test.cjs.js +2 -0
  94. package/dist/nile-hero/nile-hero.test.cjs.js.map +1 -0
  95. package/dist/nile-hero/nile-hero.test.esm.js +14 -0
  96. package/dist/nile-icon/icons/svg/alert.cjs.js +2 -0
  97. package/dist/nile-icon/icons/svg/alert.cjs.js.map +1 -0
  98. package/dist/nile-icon/icons/svg/alert.esm.js +1 -0
  99. package/dist/nile-icon/icons/svg/file-check-02.cjs.js +2 -0
  100. package/dist/nile-icon/icons/svg/file-check-02.cjs.js.map +1 -0
  101. package/dist/nile-icon/icons/svg/file-check-02.esm.js +1 -0
  102. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  103. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  104. package/dist/nile-icon/icons/svg/monitor-01.cjs.js +2 -0
  105. package/dist/nile-icon/icons/svg/monitor-01.cjs.js.map +1 -0
  106. package/dist/nile-icon/icons/svg/monitor-01.esm.js +1 -0
  107. package/dist/nile-icon/index.cjs.js +1 -1
  108. package/dist/nile-icon/index.cjs.js.map +1 -1
  109. package/dist/nile-icon/index.esm.js +1 -1
  110. package/dist/nile-icon/nile-icon.test.cjs.js +2 -0
  111. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -0
  112. package/dist/nile-icon/nile-icon.test.esm.js +1 -0
  113. package/dist/nile-icon-button/index.cjs.js +1 -1
  114. package/dist/nile-icon-button/index.esm.js +1 -1
  115. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  116. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  117. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  118. package/dist/nile-input/index.cjs.js +1 -1
  119. package/dist/nile-input/index.esm.js +1 -1
  120. package/dist/nile-input/nile-input.cjs.js +1 -1
  121. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  122. package/dist/nile-input/nile-input.esm.js +1 -1
  123. package/dist/nile-input/nile-input.test.cjs.js +2 -0
  124. package/dist/nile-input/nile-input.test.cjs.js.map +1 -0
  125. package/dist/nile-input/nile-input.test.esm.js +17 -0
  126. package/dist/nile-link/nile-link.test.cjs.js +2 -0
  127. package/dist/nile-link/nile-link.test.cjs.js.map +1 -0
  128. package/dist/nile-link/nile-link.test.esm.js +1 -0
  129. package/dist/nile-list/index.cjs.js +2 -0
  130. package/dist/nile-list/index.cjs.js.map +1 -0
  131. package/dist/nile-list/index.esm.js +1 -0
  132. package/dist/nile-list/nile-list.cjs.js +2 -0
  133. package/dist/nile-list/nile-list.cjs.js.map +1 -0
  134. package/dist/nile-list/nile-list.css.cjs.js +2 -0
  135. package/dist/nile-list/nile-list.css.cjs.js.map +1 -0
  136. package/dist/nile-list/nile-list.css.esm.js +8 -0
  137. package/dist/nile-list/nile-list.esm.js +3 -0
  138. package/dist/nile-list-item/index.cjs.js +2 -0
  139. package/dist/nile-list-item/index.cjs.js.map +1 -0
  140. package/dist/nile-list-item/index.esm.js +1 -0
  141. package/dist/nile-list-item/nile-list-item.cjs.js +2 -0
  142. package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -0
  143. package/dist/nile-list-item/nile-list-item.css.cjs.js +2 -0
  144. package/dist/nile-list-item/nile-list-item.css.cjs.js.map +1 -0
  145. package/dist/nile-list-item/nile-list-item.css.esm.js +54 -0
  146. package/dist/nile-list-item/nile-list-item.esm.js +21 -0
  147. package/dist/nile-loader/nile-loader.test.cjs.js +2 -0
  148. package/dist/nile-loader/nile-loader.test.cjs.js.map +1 -0
  149. package/dist/nile-loader/nile-loader.test.esm.js +1 -0
  150. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  151. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  152. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  153. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  154. package/dist/nile-menu/nile-menu.css.esm.js +21 -7
  155. package/dist/nile-menu/nile-menu.esm.js +17 -15
  156. package/dist/nile-menu-item/index.cjs.js +1 -1
  157. package/dist/nile-menu-item/index.esm.js +1 -1
  158. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  159. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  160. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  161. package/dist/nile-option/index.cjs.js +1 -1
  162. package/dist/nile-option/index.esm.js +1 -1
  163. package/dist/nile-option/nile-option.cjs.js +1 -1
  164. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  165. package/dist/nile-option/nile-option.esm.js +1 -1
  166. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  167. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  168. package/dist/nile-popover/nile-popover.css.cjs.js +1 -1
  169. package/dist/nile-popover/nile-popover.css.cjs.js.map +1 -1
  170. package/dist/nile-popover/nile-popover.css.esm.js +6 -4
  171. package/dist/nile-popover/nile-popover.esm.js +4 -7
  172. package/dist/nile-popover/nile-popover.test.cjs.js +2 -0
  173. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -0
  174. package/dist/nile-popover/nile-popover.test.esm.js +21 -0
  175. package/dist/nile-popup/nile-popup.css.cjs.js +1 -1
  176. package/dist/nile-popup/nile-popup.css.cjs.js.map +1 -1
  177. package/dist/nile-popup/nile-popup.css.esm.js +8 -4
  178. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +2 -0
  179. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js.map +1 -0
  180. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -0
  181. package/dist/nile-radio/nile-radio.test.cjs.js +2 -0
  182. package/dist/nile-radio/nile-radio.test.cjs.js.map +1 -0
  183. package/dist/nile-radio/nile-radio.test.esm.js +1 -0
  184. package/dist/nile-select/index.cjs.js +1 -1
  185. package/dist/nile-select/index.esm.js +1 -1
  186. package/dist/nile-select/nile-select.cjs.js +1 -1
  187. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  188. package/dist/nile-select/nile-select.esm.js +3 -3
  189. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +2 -0
  190. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js.map +1 -0
  191. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -0
  192. package/dist/nile-split-panel/index.cjs.js +2 -0
  193. package/dist/nile-split-panel/index.cjs.js.map +1 -0
  194. package/dist/nile-split-panel/index.esm.js +1 -0
  195. package/dist/nile-split-panel/nile-split-panel.cjs.js +2 -0
  196. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -0
  197. package/dist/nile-split-panel/nile-split-panel.css.cjs.js +2 -0
  198. package/dist/nile-split-panel/nile-split-panel.css.cjs.js.map +1 -0
  199. package/dist/nile-split-panel/nile-split-panel.css.esm.js +87 -0
  200. package/dist/nile-split-panel/nile-split-panel.esm.js +21 -0
  201. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  202. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  203. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  204. package/dist/nile-stepper/nile-stepper.test.cjs.js +2 -0
  205. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +1 -0
  206. package/dist/nile-stepper/nile-stepper.test.esm.js +1 -0
  207. package/dist/nile-tab/index.cjs.js +1 -1
  208. package/dist/nile-tab/index.esm.js +1 -1
  209. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  210. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  211. package/dist/nile-tab/nile-tab.esm.js +1 -1
  212. package/dist/nile-tab-group/index.cjs.js +1 -1
  213. package/dist/nile-tab-group/index.esm.js +1 -1
  214. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  215. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  216. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  217. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  218. package/dist/nile-tab-group/nile-tab-group.css.esm.js +2 -2
  219. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  220. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  221. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  222. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +0 -4
  223. package/dist/nile-tag/index.cjs.js +1 -1
  224. package/dist/nile-tag/index.esm.js +1 -1
  225. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  226. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  227. package/dist/nile-tag/nile-tag.esm.js +1 -1
  228. package/dist/nile-textarea/nile-textarea.test.cjs.js +2 -0
  229. package/dist/nile-textarea/nile-textarea.test.cjs.js.map +1 -0
  230. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -0
  231. package/dist/nile-toast/index.cjs.js +1 -1
  232. package/dist/nile-toast/index.esm.js +1 -1
  233. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  234. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  235. package/dist/nile-toast/nile-toast.esm.js +1 -1
  236. package/dist/nile-tree/index.cjs.js +2 -0
  237. package/dist/nile-tree/index.cjs.js.map +1 -0
  238. package/dist/nile-tree/index.esm.js +1 -0
  239. package/dist/nile-tree/nile-tree.cjs.js +2 -0
  240. package/dist/nile-tree/nile-tree.cjs.js.map +1 -0
  241. package/dist/nile-tree/nile-tree.css.cjs.js +2 -0
  242. package/dist/nile-tree/nile-tree.css.cjs.js.map +1 -0
  243. package/dist/nile-tree/nile-tree.css.esm.js +36 -0
  244. package/dist/nile-tree/nile-tree.esm.js +13 -0
  245. package/dist/nile-tree-item/index.cjs.js +2 -0
  246. package/dist/nile-tree-item/index.cjs.js.map +1 -0
  247. package/dist/nile-tree-item/index.esm.js +1 -0
  248. package/dist/nile-tree-item/nile-tree-item.cjs.js +2 -0
  249. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -0
  250. package/dist/nile-tree-item/nile-tree-item.css.cjs.js +2 -0
  251. package/dist/nile-tree-item/nile-tree-item.css.cjs.js.map +1 -0
  252. package/dist/nile-tree-item/nile-tree-item.css.esm.js +164 -0
  253. package/dist/nile-tree-item/nile-tree-item.esm.js +63 -0
  254. package/dist/src/index.d.ts +5 -0
  255. package/dist/src/index.js +5 -0
  256. package/dist/src/index.js.map +1 -1
  257. package/dist/src/internal/drag.d.ts +15 -0
  258. package/dist/src/internal/drag.js +28 -0
  259. package/dist/src/internal/drag.js.map +1 -0
  260. package/dist/src/internal/math.d.ts +2 -0
  261. package/dist/src/internal/math.js +12 -0
  262. package/dist/src/internal/math.js.map +1 -0
  263. package/dist/src/nile-avatar/nile-avatar.css.js +5 -6
  264. package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
  265. package/dist/src/nile-avatar/nile-avatar.test.d.ts +1 -0
  266. package/dist/src/nile-avatar/nile-avatar.test.js +58 -0
  267. package/dist/src/nile-avatar/nile-avatar.test.js.map +1 -0
  268. package/dist/src/nile-badge/nile-badge.css.js +45 -45
  269. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  270. package/dist/src/nile-badge/nile-badge.test.d.ts +1 -0
  271. package/dist/src/nile-badge/nile-badge.test.js +42 -0
  272. package/dist/src/nile-badge/nile-badge.test.js.map +1 -0
  273. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +3 -4
  274. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
  275. package/dist/src/nile-button/nile-button.test.d.ts +1 -0
  276. package/dist/src/nile-button/nile-button.test.js +86 -0
  277. package/dist/src/nile-button/nile-button.test.js.map +1 -0
  278. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.d.ts +2 -0
  279. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js +108 -0
  280. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js.map +1 -0
  281. package/dist/src/nile-calendar/nile-calendar.css.js +122 -191
  282. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  283. package/dist/src/nile-calendar/nile-calendar.d.ts +8 -0
  284. package/dist/src/nile-calendar/nile-calendar.js +164 -167
  285. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  286. package/dist/src/nile-card/nile-card.test.d.ts +1 -0
  287. package/dist/src/nile-card/nile-card.test.js +69 -0
  288. package/dist/src/nile-card/nile-card.test.js.map +1 -0
  289. package/dist/src/nile-date-picker/nile-date-picker.js +1 -0
  290. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  291. package/dist/src/nile-dialog/nile-dialog.css.js +4 -1
  292. package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
  293. package/dist/src/nile-dialog/nile-dialog.js +4 -3
  294. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  295. package/dist/src/nile-drawer/nile-drawer.test.d.ts +1 -0
  296. package/dist/src/nile-drawer/nile-drawer.test.js +88 -0
  297. package/dist/src/nile-drawer/nile-drawer.test.js.map +1 -0
  298. package/dist/src/nile-empty-state/nile-empty-state.test.d.ts +1 -0
  299. package/dist/src/nile-empty-state/nile-empty-state.test.js +63 -0
  300. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -0
  301. package/dist/src/nile-error-message/nile-error-message.test.d.ts +1 -0
  302. package/dist/src/nile-error-message/nile-error-message.test.js +61 -0
  303. package/dist/src/nile-error-message/nile-error-message.test.js.map +1 -0
  304. package/dist/src/nile-form-group/nile-form-group.test.d.ts +1 -0
  305. package/dist/src/nile-form-group/nile-form-group.test.js +55 -0
  306. package/dist/src/nile-form-group/nile-form-group.test.js.map +1 -0
  307. package/dist/src/nile-hero/nile-hero.test.d.ts +1 -0
  308. package/dist/src/nile-hero/nile-hero.test.js +42 -0
  309. package/dist/src/nile-hero/nile-hero.test.js.map +1 -0
  310. package/dist/src/nile-icon/icons/svg/alert.d.ts +5 -0
  311. package/dist/src/nile-icon/icons/svg/alert.js +5 -0
  312. package/dist/src/nile-icon/icons/svg/alert.js.map +1 -0
  313. package/dist/src/nile-icon/icons/svg/file-check-02.d.ts +5 -0
  314. package/dist/src/nile-icon/icons/svg/file-check-02.js +5 -0
  315. package/dist/src/nile-icon/icons/svg/file-check-02.js.map +1 -0
  316. package/dist/src/nile-icon/icons/svg/index.d.ts +3 -0
  317. package/dist/src/nile-icon/icons/svg/index.js +3 -0
  318. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  319. package/dist/src/nile-icon/icons/svg/monitor-01.d.ts +5 -0
  320. package/dist/src/nile-icon/icons/svg/monitor-01.js +5 -0
  321. package/dist/src/nile-icon/icons/svg/monitor-01.js.map +1 -0
  322. package/dist/src/nile-icon/nile-icon.test.d.ts +1 -0
  323. package/dist/src/nile-icon/nile-icon.test.js +45 -0
  324. package/dist/src/nile-icon/nile-icon.test.js.map +1 -0
  325. package/dist/src/nile-input/nile-input.test.d.ts +1 -0
  326. package/dist/src/nile-input/nile-input.test.js +139 -0
  327. package/dist/src/nile-input/nile-input.test.js.map +1 -0
  328. package/dist/src/nile-link/nile-link.test.d.ts +1 -0
  329. package/dist/src/nile-link/nile-link.test.js +72 -0
  330. package/dist/src/nile-link/nile-link.test.js.map +1 -0
  331. package/dist/src/nile-list/index.d.ts +1 -0
  332. package/dist/src/nile-list/index.js +2 -0
  333. package/dist/src/nile-list/index.js.map +1 -0
  334. package/dist/src/nile-list/nile-list.css.d.ts +12 -0
  335. package/dist/src/nile-list/nile-list.css.js +20 -0
  336. package/dist/src/nile-list/nile-list.css.js.map +1 -0
  337. package/dist/src/nile-list/nile-list.d.ts +33 -0
  338. package/dist/src/nile-list/nile-list.js +47 -0
  339. package/dist/src/nile-list/nile-list.js.map +1 -0
  340. package/dist/src/nile-list-item/index.d.ts +1 -0
  341. package/dist/src/nile-list-item/index.js +2 -0
  342. package/dist/src/nile-list-item/index.js.map +1 -0
  343. package/dist/src/nile-list-item/nile-list-item.css.d.ts +12 -0
  344. package/dist/src/nile-list-item/nile-list-item.css.js +66 -0
  345. package/dist/src/nile-list-item/nile-list-item.css.js.map +1 -0
  346. package/dist/src/nile-list-item/nile-list-item.d.ts +38 -0
  347. package/dist/src/nile-list-item/nile-list-item.js +96 -0
  348. package/dist/src/nile-list-item/nile-list-item.js.map +1 -0
  349. package/dist/src/nile-loader/nile-loader.test.d.ts +1 -0
  350. package/dist/src/nile-loader/nile-loader.test.js +39 -0
  351. package/dist/src/nile-loader/nile-loader.test.js.map +1 -0
  352. package/dist/src/nile-menu/nile-menu.css.js +19 -5
  353. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  354. package/dist/src/nile-menu/nile-menu.d.ts +1 -0
  355. package/dist/src/nile-menu/nile-menu.js +25 -14
  356. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  357. package/dist/src/nile-popover/nile-popover.css.js +6 -4
  358. package/dist/src/nile-popover/nile-popover.css.js.map +1 -1
  359. package/dist/src/nile-popover/nile-popover.d.ts +1 -0
  360. package/dist/src/nile-popover/nile-popover.js +7 -6
  361. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  362. package/dist/src/nile-popover/nile-popover.test.d.ts +1 -0
  363. package/dist/src/nile-popover/nile-popover.test.js +73 -0
  364. package/dist/src/nile-popover/nile-popover.test.js.map +1 -0
  365. package/dist/src/nile-popup/nile-popup.css.d.ts +5 -5
  366. package/dist/src/nile-popup/nile-popup.css.js +13 -9
  367. package/dist/src/nile-popup/nile-popup.css.js.map +1 -1
  368. package/dist/src/nile-progress-bar/nile-progress-bar.test.d.ts +1 -0
  369. package/dist/src/nile-progress-bar/nile-progress-bar.test.js +48 -0
  370. package/dist/src/nile-progress-bar/nile-progress-bar.test.js.map +1 -0
  371. package/dist/src/nile-radio/nile-radio.test.d.ts +1 -0
  372. package/dist/src/nile-radio/nile-radio.test.js +71 -0
  373. package/dist/src/nile-radio/nile-radio.test.js.map +1 -0
  374. package/dist/src/nile-select/nile-select.d.ts +1 -0
  375. package/dist/src/nile-select/nile-select.js +5 -1
  376. package/dist/src/nile-select/nile-select.js.map +1 -1
  377. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.d.ts +1 -0
  378. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js +54 -0
  379. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js.map +1 -0
  380. package/dist/src/nile-split-panel/index.d.ts +1 -0
  381. package/dist/src/nile-split-panel/index.js +2 -0
  382. package/dist/src/nile-split-panel/index.js.map +1 -0
  383. package/dist/src/nile-split-panel/nile-split-panel.css.d.ts +12 -0
  384. package/dist/src/nile-split-panel/nile-split-panel.css.js +99 -0
  385. package/dist/src/nile-split-panel/nile-split-panel.css.js.map +1 -0
  386. package/dist/src/nile-split-panel/nile-split-panel.d.ts +78 -0
  387. package/dist/src/nile-split-panel/nile-split-panel.js +251 -0
  388. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -0
  389. package/dist/src/nile-stepper/nile-stepper.js +1 -1
  390. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  391. package/dist/src/nile-stepper/nile-stepper.test.d.ts +0 -0
  392. package/dist/src/nile-stepper/nile-stepper.test.js +165 -0
  393. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
  394. package/dist/src/nile-tab-group/nile-tab-group.css.js +2 -2
  395. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  396. package/dist/src/nile-tab-group/nile-tab-group.js +16 -15
  397. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  398. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +0 -4
  399. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  400. package/dist/src/nile-textarea/nile-textarea.test.d.ts +1 -0
  401. package/dist/src/nile-textarea/nile-textarea.test.js +87 -0
  402. package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -0
  403. package/dist/src/nile-tree/index.d.ts +1 -0
  404. package/dist/src/nile-tree/index.js +2 -0
  405. package/dist/src/nile-tree/index.js.map +1 -0
  406. package/dist/src/nile-tree/nile-tree.css.d.ts +12 -0
  407. package/dist/src/nile-tree/nile-tree.css.js +48 -0
  408. package/dist/src/nile-tree/nile-tree.css.js.map +1 -0
  409. package/dist/src/nile-tree/nile-tree.d.ts +69 -0
  410. package/dist/src/nile-tree/nile-tree.js +376 -0
  411. package/dist/src/nile-tree/nile-tree.js.map +1 -0
  412. package/dist/src/nile-tree-item/index.d.ts +1 -0
  413. package/dist/src/nile-tree-item/index.js +2 -0
  414. package/dist/src/nile-tree-item/index.js.map +1 -0
  415. package/dist/src/nile-tree-item/nile-tree-item.css.d.ts +12 -0
  416. package/dist/src/nile-tree-item/nile-tree-item.css.js +176 -0
  417. package/dist/src/nile-tree-item/nile-tree-item.css.js.map +1 -0
  418. package/dist/src/nile-tree-item/nile-tree-item.d.ts +96 -0
  419. package/dist/src/nile-tree-item/nile-tree-item.js +324 -0
  420. package/dist/src/nile-tree-item/nile-tree-item.js.map +1 -0
  421. package/dist/tsconfig.tsbuildinfo +1 -1
  422. package/package.json +71 -2
  423. package/plopfile.js +11 -0
  424. package/src/index.ts +6 -1
  425. package/src/internal/drag.ts +45 -0
  426. package/src/internal/math.ts +14 -0
  427. package/src/nile-avatar/nile-avatar.css.ts +5 -6
  428. package/src/nile-avatar/nile-avatar.test.ts +65 -0
  429. package/src/nile-badge/nile-badge.css.ts +45 -45
  430. package/src/nile-badge/nile-badge.test.ts +48 -0
  431. package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +3 -4
  432. package/src/nile-button/nile-button.test.ts +117 -0
  433. package/src/nile-button-toggle-group/nile-button-toggle-group.test.ts +130 -0
  434. package/src/nile-calendar/nile-calendar.css.ts +122 -191
  435. package/src/nile-calendar/nile-calendar.ts +170 -213
  436. package/src/nile-card/nile-card.test.ts +74 -0
  437. package/src/nile-date-picker/nile-date-picker.ts +5 -6
  438. package/src/nile-dialog/nile-dialog.css.ts +4 -1
  439. package/src/nile-dialog/nile-dialog.ts +4 -4
  440. package/src/nile-drawer/nile-drawer.test.ts +106 -0
  441. package/src/nile-empty-state/nile-empty-state.test.ts +69 -0
  442. package/src/nile-error-message/nile-error-message.test.ts +69 -0
  443. package/src/nile-form-group/nile-form-group.test.ts +63 -0
  444. package/src/nile-hero/nile-hero.test.ts +45 -0
  445. package/src/nile-icon/icons/svg/alert.ts +5 -0
  446. package/src/nile-icon/icons/svg/file-check-02.ts +5 -0
  447. package/src/nile-icon/icons/svg/index.ts +3 -0
  448. package/src/nile-icon/icons/svg/monitor-01.ts +5 -0
  449. package/src/nile-icon/nile-icon.test.ts +53 -0
  450. package/src/nile-input/nile-input.test.ts +160 -0
  451. package/src/nile-link/nile-link.test.ts +83 -0
  452. package/src/nile-list/index.ts +1 -0
  453. package/src/nile-list/nile-list.css.ts +22 -0
  454. package/src/nile-list/nile-list.ts +64 -0
  455. package/src/nile-list-item/index.ts +1 -0
  456. package/src/nile-list-item/nile-list-item.css.ts +68 -0
  457. package/src/nile-list-item/nile-list-item.ts +104 -0
  458. package/src/nile-loader/nile-loader.test.ts +45 -0
  459. package/src/nile-menu/nile-menu.css.ts +19 -5
  460. package/src/nile-menu/nile-menu.ts +27 -17
  461. package/src/nile-popover/nile-popover.css.ts +6 -4
  462. package/src/nile-popover/nile-popover.test.ts +86 -0
  463. package/src/nile-popover/nile-popover.ts +7 -10
  464. package/src/nile-popup/nile-popup.css.ts +14 -10
  465. package/src/nile-progress-bar/nile-progress-bar.test.ts +55 -0
  466. package/src/nile-radio/nile-radio.test.ts +81 -0
  467. package/src/nile-select/nile-select.ts +3 -1
  468. package/src/nile-slide-toggle/nile-slide-toggle.test.ts +61 -0
  469. package/src/nile-split-panel/index.ts +1 -0
  470. package/src/nile-split-panel/nile-split-panel.css.ts +101 -0
  471. package/src/nile-split-panel/nile-split-panel.ts +285 -0
  472. package/src/nile-stepper/nile-stepper.test.ts +174 -0
  473. package/src/nile-stepper/nile-stepper.ts +2 -2
  474. package/src/nile-tab-group/nile-tab-group.css.ts +2 -2
  475. package/src/nile-tab-group/nile-tab-group.ts +2 -1
  476. package/src/nile-table-header-item/nile-table-header-item.css.ts +0 -4
  477. package/src/nile-textarea/nile-textarea.test.ts +102 -0
  478. package/src/nile-tree/index.ts +1 -0
  479. package/src/nile-tree/nile-tree.css.ts +50 -0
  480. package/src/nile-tree/nile-tree.ts +433 -0
  481. package/src/nile-tree-item/index.ts +1 -0
  482. package/src/nile-tree-item/nile-tree-item.css.ts +178 -0
  483. package/src/nile-tree-item/nile-tree-item.ts +330 -0
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { TemplateResult } from 'lit-element';
8
+ import type { CSSResultGroup, PropertyValueMap } from 'lit';
9
+ import NileElement from '../internal/nile-element';
10
+ import '../nile-checkbox/nile-checkbox';
11
+ import '../nile-icon';
12
+ import '../nile-spinner/nile-spinner';
13
+ /**
14
+ * @summary A tree item serves as a hierarchical node that lives inside a [tree](/components/tree).
15
+ *
16
+ * @dependency nile-checkbox
17
+ * @dependency nile-icon
18
+ * @dependency nile-spinner
19
+ *
20
+ * @event nile-expand - Emitted when the tree item expands.
21
+ * @event nile-after-expand - Emitted after the tree item expands and all animations are complete.
22
+ * @event nile-collapse - Emitted when the tree item collapses.
23
+ * @event nile-after-collapse - Emitted after the tree item collapses and all animations are complete.
24
+ * @event nile-lazy-change - Emitted when the tree item's lazy state changes.
25
+ * @event nile-lazy-load - Emitted when a lazy item is selected. Use this event to asynchronously load data and append
26
+ * items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading
27
+ * state and update the tree.
28
+ *
29
+ * @slot - The default slot.
30
+ * @slot expand-icon - The icon to show when the tree item is expanded.
31
+ * @slot collapse-icon - The icon to show when the tree item is collapsed.
32
+ *
33
+ * @csspart base - The component's base wrapper.
34
+ * @csspart item - The tree item's container. This element wraps everything except slotted tree item children.
35
+ * @csspart item--disabled - Applied when the tree item is disabled.
36
+ * @csspart item--expanded - Applied when the tree item is expanded.
37
+ * @csspart item--indeterminate - Applied when the selection is indeterminate.
38
+ * @csspart item--selected - Applied when the tree item is selected.
39
+ * @csspart indentation - The tree item's indentation container.
40
+ * @csspart expand-button - The container that wraps the tree item's expand button and spinner.
41
+ * @csspart label - The tree item's label.
42
+ * @csspart children - The container that wraps the tree item's nested children.
43
+ * @csspart checkbox - The checkbox that shows when using multiselect.
44
+ * @csspart checkbox__base - The checkbox's exported `base` part.
45
+ * @csspart checkbox__control - The checkbox's exported `control` part.
46
+ * @csspart checkbox__control--checked - The checkbox's exported `control--checked` part.
47
+ * @csspart checkbox__control--indeterminate - The checkbox's exported `control--indeterminate` part.
48
+ * @csspart checkbox__checked-icon - The checkbox's exported `checked-icon` part.
49
+ * @csspart checkbox__indeterminate-icon - The checkbox's exported `indeterminate-icon` part.
50
+ * @csspart checkbox__label - The checkbox's exported `label` part.
51
+ */
52
+ export declare class NileTreeItem extends NileElement {
53
+ static styles: CSSResultGroup;
54
+ static isTreeItem(node: Node): boolean;
55
+ indeterminate: boolean;
56
+ isLeaf: boolean;
57
+ loading: boolean;
58
+ selectable: boolean;
59
+ /** Expands the tree item. */
60
+ expanded: boolean;
61
+ /** Draws the tree item in a selected state. */
62
+ selected: boolean;
63
+ /** Disables the tree item. */
64
+ disabled: boolean;
65
+ /** Enables lazy loading behavior. */
66
+ lazy: boolean;
67
+ defaultSlot: HTMLSlotElement;
68
+ childrenSlot: HTMLSlotElement;
69
+ itemElement: HTMLDivElement;
70
+ childrenContainer: HTMLDivElement;
71
+ expandButtonSlot: HTMLSlotElement;
72
+ connectedCallback(): void;
73
+ firstUpdated(): void;
74
+ private animateCollapse;
75
+ private isNestedItem;
76
+ private handleChildrenSlotChange;
77
+ protected willUpdate(changedProperties: PropertyValueMap<NileTreeItem> | Map<PropertyKey, unknown>): void;
78
+ private animateExpand;
79
+ handleLoadingChange(): void;
80
+ handleDisabledChange(): void;
81
+ handleSelectedChange(): void;
82
+ handleExpandedChange(): void;
83
+ handleExpandAnimation(): void;
84
+ handleLazyChange(): void;
85
+ /** Gets all the nested tree items in this node. */
86
+ getChildrenItems({ includeDisabled }?: {
87
+ includeDisabled?: boolean;
88
+ }): NileTreeItem[];
89
+ render(): TemplateResult<1>;
90
+ }
91
+ export default NileTreeItem;
92
+ declare global {
93
+ interface HTMLElementTagNameMap {
94
+ 'nile-tree-item': NileTreeItem;
95
+ }
96
+ }
@@ -0,0 +1,324 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ var NileTreeItem_1;
8
+ import { __decorate } from "tslib";
9
+ import { animateTo, shimKeyframesHeightAuto, stopAnimations } from '../internal/animate';
10
+ import { classMap } from 'lit/directives/class-map.js';
11
+ import { customElement, property, query, state } from 'lit/decorators.js';
12
+ import { getAnimation, setDefaultAnimation } from '../utilities/animation-registry';
13
+ import { html } from 'lit';
14
+ import { live } from 'lit/directives/live.js';
15
+ import { watch } from '../internal/watch';
16
+ import { when } from 'lit/directives/when.js';
17
+ import { styles } from './nile-tree-item.css';
18
+ import NileElement from '../internal/nile-element';
19
+ import '../nile-checkbox/nile-checkbox';
20
+ import '../nile-icon';
21
+ import '../nile-spinner/nile-spinner';
22
+ /**
23
+ * @summary A tree item serves as a hierarchical node that lives inside a [tree](/components/tree).
24
+ *
25
+ * @dependency nile-checkbox
26
+ * @dependency nile-icon
27
+ * @dependency nile-spinner
28
+ *
29
+ * @event nile-expand - Emitted when the tree item expands.
30
+ * @event nile-after-expand - Emitted after the tree item expands and all animations are complete.
31
+ * @event nile-collapse - Emitted when the tree item collapses.
32
+ * @event nile-after-collapse - Emitted after the tree item collapses and all animations are complete.
33
+ * @event nile-lazy-change - Emitted when the tree item's lazy state changes.
34
+ * @event nile-lazy-load - Emitted when a lazy item is selected. Use this event to asynchronously load data and append
35
+ * items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading
36
+ * state and update the tree.
37
+ *
38
+ * @slot - The default slot.
39
+ * @slot expand-icon - The icon to show when the tree item is expanded.
40
+ * @slot collapse-icon - The icon to show when the tree item is collapsed.
41
+ *
42
+ * @csspart base - The component's base wrapper.
43
+ * @csspart item - The tree item's container. This element wraps everything except slotted tree item children.
44
+ * @csspart item--disabled - Applied when the tree item is disabled.
45
+ * @csspart item--expanded - Applied when the tree item is expanded.
46
+ * @csspart item--indeterminate - Applied when the selection is indeterminate.
47
+ * @csspart item--selected - Applied when the tree item is selected.
48
+ * @csspart indentation - The tree item's indentation container.
49
+ * @csspart expand-button - The container that wraps the tree item's expand button and spinner.
50
+ * @csspart label - The tree item's label.
51
+ * @csspart children - The container that wraps the tree item's nested children.
52
+ * @csspart checkbox - The checkbox that shows when using multiselect.
53
+ * @csspart checkbox__base - The checkbox's exported `base` part.
54
+ * @csspart checkbox__control - The checkbox's exported `control` part.
55
+ * @csspart checkbox__control--checked - The checkbox's exported `control--checked` part.
56
+ * @csspart checkbox__control--indeterminate - The checkbox's exported `control--indeterminate` part.
57
+ * @csspart checkbox__checked-icon - The checkbox's exported `checked-icon` part.
58
+ * @csspart checkbox__indeterminate-icon - The checkbox's exported `indeterminate-icon` part.
59
+ * @csspart checkbox__label - The checkbox's exported `label` part.
60
+ */
61
+ let NileTreeItem = NileTreeItem_1 = class NileTreeItem extends NileElement {
62
+ constructor() {
63
+ super(...arguments);
64
+ this.indeterminate = false;
65
+ this.isLeaf = false;
66
+ this.loading = false;
67
+ this.selectable = false;
68
+ /** Expands the tree item. */
69
+ this.expanded = false;
70
+ /** Draws the tree item in a selected state. */
71
+ this.selected = false;
72
+ /** Disables the tree item. */
73
+ this.disabled = false;
74
+ /** Enables lazy loading behavior. */
75
+ this.lazy = false;
76
+ }
77
+ static isTreeItem(node) {
78
+ return node instanceof Element && node.getAttribute('role') === 'treeitem';
79
+ }
80
+ connectedCallback() {
81
+ super.connectedCallback();
82
+ this.setAttribute('role', 'treeitem');
83
+ this.setAttribute('tabindex', '-1');
84
+ if (this.isNestedItem()) {
85
+ this.slot = 'children';
86
+ }
87
+ }
88
+ firstUpdated() {
89
+ this.childrenContainer.hidden = !this.expanded;
90
+ this.childrenContainer.style.height = this.expanded ? 'auto' : '0';
91
+ this.isLeaf = !this.lazy && this.getChildrenItems().length === 0;
92
+ this.handleExpandedChange();
93
+ }
94
+ async animateCollapse() {
95
+ this.emit('nile-collapse');
96
+ await stopAnimations(this.childrenContainer);
97
+ const { keyframes, options } = getAnimation(this, 'tree-item.collapse', { dir: 'ltr' });
98
+ await animateTo(this.childrenContainer, shimKeyframesHeightAuto(keyframes, this.childrenContainer.scrollHeight), options);
99
+ this.childrenContainer.hidden = true;
100
+ this.emit('nile-after-collapse');
101
+ }
102
+ // Checks whether the item is nested into an item
103
+ isNestedItem() {
104
+ const parent = this.parentElement;
105
+ return !!parent && NileTreeItem_1.isTreeItem(parent);
106
+ }
107
+ handleChildrenSlotChange() {
108
+ this.loading = false;
109
+ this.isLeaf = !this.lazy && this.getChildrenItems().length === 0;
110
+ }
111
+ willUpdate(changedProperties) {
112
+ if (changedProperties.has('selected') && !changedProperties.has('indeterminate')) {
113
+ this.indeterminate = false;
114
+ }
115
+ }
116
+ async animateExpand() {
117
+ this.emit('nile-expand');
118
+ await stopAnimations(this.childrenContainer);
119
+ this.childrenContainer.hidden = false;
120
+ const { keyframes, options } = getAnimation(this, 'tree-item.expand', { dir: 'ltr' });
121
+ await animateTo(this.childrenContainer, shimKeyframesHeightAuto(keyframes, this.childrenContainer.scrollHeight), options);
122
+ this.childrenContainer.style.height = 'auto';
123
+ this.emit('nile-after-expand');
124
+ }
125
+ handleLoadingChange() {
126
+ this.setAttribute('aria-busy', this.loading ? 'true' : 'false');
127
+ if (!this.loading) {
128
+ this.animateExpand();
129
+ }
130
+ }
131
+ handleDisabledChange() {
132
+ this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');
133
+ }
134
+ handleSelectedChange() {
135
+ this.setAttribute('aria-selected', this.selected ? 'true' : 'false');
136
+ }
137
+ handleExpandedChange() {
138
+ if (!this.isLeaf) {
139
+ this.setAttribute('aria-expanded', this.expanded ? 'true' : 'false');
140
+ }
141
+ else {
142
+ this.removeAttribute('aria-expanded');
143
+ }
144
+ }
145
+ handleExpandAnimation() {
146
+ if (this.expanded) {
147
+ if (this.lazy) {
148
+ this.loading = true;
149
+ this.emit('nile-lazy-load');
150
+ }
151
+ else {
152
+ this.animateExpand();
153
+ }
154
+ }
155
+ else {
156
+ this.animateCollapse();
157
+ }
158
+ }
159
+ handleLazyChange() {
160
+ this.emit('nile-lazy-change');
161
+ }
162
+ /** Gets all the nested tree items in this node. */
163
+ getChildrenItems({ includeDisabled = true } = {}) {
164
+ return this.childrenSlot
165
+ ? [...this.childrenSlot.assignedElements({ flatten: true })].filter((item) => NileTreeItem_1.isTreeItem(item) && (includeDisabled || !item.disabled))
166
+ : [];
167
+ }
168
+ render() {
169
+ const isRtl = false;
170
+ const showExpandButton = !this.loading && (!this.isLeaf || this.lazy);
171
+ return html `
172
+ <div
173
+ part="base"
174
+ class="${classMap({
175
+ 'tree-item': true,
176
+ 'tree-item--expanded': this.expanded,
177
+ 'tree-item--selected': this.selected,
178
+ 'tree-item--disabled': this.disabled,
179
+ 'tree-item--leaf': this.isLeaf,
180
+ 'tree-item--has-expand-button': showExpandButton,
181
+ 'tree-item--rtl': false
182
+ })}"
183
+ >
184
+ <div
185
+ class="tree-item__item"
186
+ part="
187
+ item
188
+ ${this.disabled ? 'item--disabled' : ''}
189
+ ${this.expanded ? 'item--expanded' : ''}
190
+ ${this.indeterminate ? 'item--indeterminate' : ''}
191
+ ${this.selected ? 'item--selected' : ''}
192
+ "
193
+ >
194
+ <div class="tree-item__indentation" part="indentation"></div>
195
+
196
+ <div
197
+ part="expand-button"
198
+ class=${classMap({
199
+ 'tree-item__expand-button': true,
200
+ 'tree-item__expand-button--visible': showExpandButton
201
+ })}
202
+ aria-hidden="true"
203
+ >
204
+ ${when(this.loading, () => html ` <nile-spinner></nile-spinner> `)}
205
+ <slot class="tree-item__expand-icon-slot" name="expand-icon">
206
+ <nile-icon library="system" name=${isRtl ? 'arrowleft' : 'arrowright'}></nile-icon>
207
+ </slot>
208
+ <slot class="tree-item__expand-icon-slot" name="collapse-icon">
209
+ <nile-icon library="system" name=${isRtl ? 'arrowleft' : 'arrowright'}></nile-icon>
210
+ </slot>
211
+ </div>
212
+
213
+ ${when(this.selectable, () => html `
214
+ <nile-checkbox
215
+ part="checkbox"
216
+ exportparts="
217
+ base:checkbox__base,
218
+ control:checkbox__control,
219
+ control--checked:checkbox__control--checked,
220
+ control--indeterminate:checkbox__control--indeterminate,
221
+ checked-icon:checkbox__checked-icon,
222
+ indeterminate-icon:checkbox__indeterminate-icon,
223
+ label:checkbox__label
224
+ "
225
+ class="tree-item__checkbox"
226
+ ?disabled="${this.disabled}"
227
+ ?checked="${live(this.selected)}"
228
+ ?indeterminate="${this.indeterminate}"
229
+ tabindex="-1"
230
+ ></nile-checkbox>
231
+ `)}
232
+
233
+ <slot class="tree-item__label" part="label"></slot>
234
+ </div>
235
+
236
+ <slot
237
+ name="children"
238
+ class="tree-item__children"
239
+ part="children"
240
+ role="group"
241
+ @slotchange="${this.handleChildrenSlotChange}"
242
+ ></slot>
243
+ </div>
244
+ `;
245
+ }
246
+ };
247
+ NileTreeItem.styles = styles;
248
+ __decorate([
249
+ state()
250
+ ], NileTreeItem.prototype, "indeterminate", void 0);
251
+ __decorate([
252
+ state()
253
+ ], NileTreeItem.prototype, "isLeaf", void 0);
254
+ __decorate([
255
+ state()
256
+ ], NileTreeItem.prototype, "loading", void 0);
257
+ __decorate([
258
+ state()
259
+ ], NileTreeItem.prototype, "selectable", void 0);
260
+ __decorate([
261
+ property({ type: Boolean, reflect: true })
262
+ ], NileTreeItem.prototype, "expanded", void 0);
263
+ __decorate([
264
+ property({ type: Boolean, reflect: true })
265
+ ], NileTreeItem.prototype, "selected", void 0);
266
+ __decorate([
267
+ property({ type: Boolean, reflect: true })
268
+ ], NileTreeItem.prototype, "disabled", void 0);
269
+ __decorate([
270
+ property({ type: Boolean, reflect: true })
271
+ ], NileTreeItem.prototype, "lazy", void 0);
272
+ __decorate([
273
+ query('slot:not([name])')
274
+ ], NileTreeItem.prototype, "defaultSlot", void 0);
275
+ __decorate([
276
+ query('slot[name=children]')
277
+ ], NileTreeItem.prototype, "childrenSlot", void 0);
278
+ __decorate([
279
+ query('.tree-item__item')
280
+ ], NileTreeItem.prototype, "itemElement", void 0);
281
+ __decorate([
282
+ query('.tree-item__children')
283
+ ], NileTreeItem.prototype, "childrenContainer", void 0);
284
+ __decorate([
285
+ query('.tree-item__expand-button slot')
286
+ ], NileTreeItem.prototype, "expandButtonSlot", void 0);
287
+ __decorate([
288
+ watch('loading', { waitUntilFirstUpdate: true })
289
+ ], NileTreeItem.prototype, "handleLoadingChange", null);
290
+ __decorate([
291
+ watch('disabled')
292
+ ], NileTreeItem.prototype, "handleDisabledChange", null);
293
+ __decorate([
294
+ watch('selected')
295
+ ], NileTreeItem.prototype, "handleSelectedChange", null);
296
+ __decorate([
297
+ watch('expanded', { waitUntilFirstUpdate: true })
298
+ ], NileTreeItem.prototype, "handleExpandedChange", null);
299
+ __decorate([
300
+ watch('expanded', { waitUntilFirstUpdate: true })
301
+ ], NileTreeItem.prototype, "handleExpandAnimation", null);
302
+ __decorate([
303
+ watch('lazy', { waitUntilFirstUpdate: true })
304
+ ], NileTreeItem.prototype, "handleLazyChange", null);
305
+ NileTreeItem = NileTreeItem_1 = __decorate([
306
+ customElement('nile-tree-item')
307
+ ], NileTreeItem);
308
+ export { NileTreeItem };
309
+ setDefaultAnimation('tree-item.expand', {
310
+ keyframes: [
311
+ { height: '0', opacity: '0', overflow: 'hidden' },
312
+ { height: 'auto', opacity: '1', overflow: 'hidden' }
313
+ ],
314
+ options: { duration: 250, easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)' }
315
+ });
316
+ setDefaultAnimation('tree-item.collapse', {
317
+ keyframes: [
318
+ { height: 'auto', opacity: '1', overflow: 'hidden' },
319
+ { height: '0', opacity: '0', overflow: 'hidden' }
320
+ ],
321
+ options: { duration: 200, easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)' }
322
+ });
323
+ export default NileTreeItem;
324
+ //# sourceMappingURL=nile-tree-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-tree-item.js","sourceRoot":"","sources":["../../../src/nile-tree-item/nile-tree-item.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 { animateTo, shimKeyframesHeightAuto, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { getAnimation, setDefaultAnimation } from '../utilities/animation-registry';\nimport { html } from 'lit';\nimport { live } from 'lit/directives/live.js';\nimport { watch } from '../internal/watch';\nimport { when } from 'lit/directives/when.js';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\nimport {styles} from './nile-tree-item.css';\nimport NileElement from '../internal/nile-element';\nimport '../nile-checkbox/nile-checkbox';\nimport '../nile-icon';\nimport '../nile-spinner/nile-spinner';\n\n/**\n * @summary A tree item serves as a hierarchical node that lives inside a [tree](/components/tree).\n *\n * @dependency nile-checkbox\n * @dependency nile-icon\n * @dependency nile-spinner\n *\n * @event nile-expand - Emitted when the tree item expands.\n * @event nile-after-expand - Emitted after the tree item expands and all animations are complete.\n * @event nile-collapse - Emitted when the tree item collapses.\n * @event nile-after-collapse - Emitted after the tree item collapses and all animations are complete.\n * @event nile-lazy-change - Emitted when the tree item's lazy state changes.\n * @event nile-lazy-load - Emitted when a lazy item is selected. Use this event to asynchronously load data and append\n * items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading\n * state and update the tree.\n *\n * @slot - The default slot.\n * @slot expand-icon - The icon to show when the tree item is expanded.\n * @slot collapse-icon - The icon to show when the tree item is collapsed.\n *\n * @csspart base - The component's base wrapper.\n * @csspart item - The tree item's container. This element wraps everything except slotted tree item children.\n * @csspart item--disabled - Applied when the tree item is disabled.\n * @csspart item--expanded - Applied when the tree item is expanded.\n * @csspart item--indeterminate - Applied when the selection is indeterminate.\n * @csspart item--selected - Applied when the tree item is selected.\n * @csspart indentation - The tree item's indentation container.\n * @csspart expand-button - The container that wraps the tree item's expand button and spinner.\n * @csspart label - The tree item's label.\n * @csspart children - The container that wraps the tree item's nested children.\n * @csspart checkbox - The checkbox that shows when using multiselect.\n * @csspart checkbox__base - The checkbox's exported `base` part.\n * @csspart checkbox__control - The checkbox's exported `control` part.\n * @csspart checkbox__control--checked - The checkbox's exported `control--checked` part.\n * @csspart checkbox__control--indeterminate - The checkbox's exported `control--indeterminate` part.\n * @csspart checkbox__checked-icon - The checkbox's exported `checked-icon` part.\n * @csspart checkbox__indeterminate-icon - The checkbox's exported `indeterminate-icon` part.\n * @csspart checkbox__label - The checkbox's exported `label` part.\n */\n@customElement('nile-tree-item')\nexport class NileTreeItem extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n static isTreeItem(node: Node) {\n return node instanceof Element && node.getAttribute('role') === 'treeitem';\n }\n\n\n @state() indeterminate = false;\n @state() isLeaf = false;\n @state() loading = false;\n @state() selectable = false;\n\n /** Expands the tree item. */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /** Draws the tree item in a selected state. */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /** Disables the tree item. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Enables lazy loading behavior. */\n @property({ type: Boolean, reflect: true }) lazy = false;\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n @query('slot[name=children]') childrenSlot: HTMLSlotElement;\n @query('.tree-item__item') itemElement: HTMLDivElement;\n @query('.tree-item__children') childrenContainer: HTMLDivElement;\n @query('.tree-item__expand-button slot') expandButtonSlot: HTMLSlotElement;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.setAttribute('role', 'treeitem');\n this.setAttribute('tabindex', '-1');\n\n if (this.isNestedItem()) {\n this.slot = 'children';\n }\n }\n\n firstUpdated() {\n this.childrenContainer.hidden = !this.expanded;\n this.childrenContainer.style.height = this.expanded ? 'auto' : '0';\n\n this.isLeaf = !this.lazy && this.getChildrenItems().length === 0;\n this.handleExpandedChange();\n }\n\n private async animateCollapse() {\n this.emit('nile-collapse');\n\n await stopAnimations(this.childrenContainer);\n\n const { keyframes, options } = getAnimation(this, 'tree-item.collapse', { dir: 'ltr' });\n await animateTo(\n this.childrenContainer,\n shimKeyframesHeightAuto(keyframes, this.childrenContainer.scrollHeight),\n options\n );\n this.childrenContainer.hidden = true;\n\n this.emit('nile-after-collapse');\n }\n\n // Checks whether the item is nested into an item\n private isNestedItem(): boolean {\n const parent = this.parentElement;\n return !!parent && NileTreeItem.isTreeItem(parent);\n }\n\n private handleChildrenSlotChange() {\n this.loading = false;\n this.isLeaf = !this.lazy && this.getChildrenItems().length === 0;\n }\n\n protected willUpdate(changedProperties: PropertyValueMap<NileTreeItem> | Map<PropertyKey, unknown>) {\n if (changedProperties.has('selected') && !changedProperties.has('indeterminate')) {\n this.indeterminate = false;\n }\n }\n\n private async animateExpand() {\n this.emit('nile-expand');\n\n await stopAnimations(this.childrenContainer);\n this.childrenContainer.hidden = false;\n\n const { keyframes, options } = getAnimation(this, 'tree-item.expand', { dir: 'ltr' });\n await animateTo(\n this.childrenContainer,\n shimKeyframesHeightAuto(keyframes, this.childrenContainer.scrollHeight),\n options\n );\n this.childrenContainer.style.height = 'auto';\n\n this.emit('nile-after-expand');\n }\n\n @watch('loading', { waitUntilFirstUpdate: true })\n handleLoadingChange() {\n this.setAttribute('aria-busy', this.loading ? 'true' : 'false');\n\n if (!this.loading) {\n this.animateExpand();\n }\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n @watch('selected')\n handleSelectedChange() {\n this.setAttribute('aria-selected', this.selected ? 'true' : 'false');\n }\n\n @watch('expanded', { waitUntilFirstUpdate: true })\n handleExpandedChange() {\n if (!this.isLeaf) {\n this.setAttribute('aria-expanded', this.expanded ? 'true' : 'false');\n } else {\n this.removeAttribute('aria-expanded');\n }\n }\n\n @watch('expanded', { waitUntilFirstUpdate: true })\n handleExpandAnimation() {\n if (this.expanded) {\n if (this.lazy) {\n this.loading = true;\n\n this.emit('nile-lazy-load');\n } else {\n this.animateExpand();\n }\n } else {\n this.animateCollapse();\n }\n }\n\n @watch('lazy', { waitUntilFirstUpdate: true })\n handleLazyChange() {\n this.emit('nile-lazy-change');\n }\n\n /** Gets all the nested tree items in this node. */\n getChildrenItems({ includeDisabled = true }: { includeDisabled?: boolean } = {}): NileTreeItem[] {\n return this.childrenSlot\n ? ([...this.childrenSlot.assignedElements({ flatten: true })].filter(\n (item: NileTreeItem) => NileTreeItem.isTreeItem(item) && (includeDisabled || !item.disabled)\n ) as NileTreeItem[])\n : [];\n }\n\n render() {\n const isRtl = false;\n const showExpandButton = !this.loading && (!this.isLeaf || this.lazy);\n\n return html`\n <div\n part=\"base\"\n class=\"${classMap({\n 'tree-item': true,\n 'tree-item--expanded': this.expanded,\n 'tree-item--selected': this.selected,\n 'tree-item--disabled': this.disabled,\n 'tree-item--leaf': this.isLeaf,\n 'tree-item--has-expand-button': showExpandButton,\n 'tree-item--rtl': false\n })}\"\n >\n <div\n class=\"tree-item__item\"\n part=\"\n item\n ${this.disabled ? 'item--disabled' : ''}\n ${this.expanded ? 'item--expanded' : ''}\n ${this.indeterminate ? 'item--indeterminate' : ''}\n ${this.selected ? 'item--selected' : ''}\n \"\n >\n <div class=\"tree-item__indentation\" part=\"indentation\"></div>\n\n <div\n part=\"expand-button\"\n class=${classMap({\n 'tree-item__expand-button': true,\n 'tree-item__expand-button--visible': showExpandButton\n })}\n aria-hidden=\"true\"\n >\n ${when(this.loading, () => html` <nile-spinner></nile-spinner> `)}\n <slot class=\"tree-item__expand-icon-slot\" name=\"expand-icon\">\n <nile-icon library=\"system\" name=${isRtl ? 'arrowleft' : 'arrowright'}></nile-icon>\n </slot>\n <slot class=\"tree-item__expand-icon-slot\" name=\"collapse-icon\">\n <nile-icon library=\"system\" name=${isRtl ? 'arrowleft' : 'arrowright'}></nile-icon>\n </slot>\n </div>\n\n ${when(\n this.selectable,\n () =>\n html`\n <nile-checkbox\n part=\"checkbox\"\n exportparts=\"\n base:checkbox__base,\n control:checkbox__control,\n control--checked:checkbox__control--checked,\n control--indeterminate:checkbox__control--indeterminate,\n checked-icon:checkbox__checked-icon,\n indeterminate-icon:checkbox__indeterminate-icon,\n label:checkbox__label\n \"\n class=\"tree-item__checkbox\"\n ?disabled=\"${this.disabled}\"\n ?checked=\"${live(this.selected)}\"\n ?indeterminate=\"${this.indeterminate}\"\n tabindex=\"-1\"\n ></nile-checkbox>\n `\n )}\n\n <slot class=\"tree-item__label\" part=\"label\"></slot>\n </div>\n\n <slot\n name=\"children\"\n class=\"tree-item__children\"\n part=\"children\"\n role=\"group\"\n @slotchange=\"${this.handleChildrenSlotChange}\"\n ></slot>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation('tree-item.expand', {\n keyframes: [\n { height: '0', opacity: '0', overflow: 'hidden' },\n { height: 'auto', opacity: '1', overflow: 'hidden' }\n ],\n options: { duration: 250, easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)' }\n});\n\nsetDefaultAnimation('tree-item.collapse', {\n keyframes: [\n { height: 'auto', opacity: '1', overflow: 'hidden' },\n { height: '0', opacity: '0', overflow: 'hidden' }\n ],\n options: { duration: 200, easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)' }\n});\n\n\nexport default NileTreeItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tree-item': NileTreeItem;\n }\n}\n"]}