@aquera/nile-elements 1.3.9-beta-1.4 → 1.4.0-beta-1.0

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 (602) hide show
  1. package/README.md +19 -0
  2. package/demo/index.css +1 -6
  3. package/demo/index.html +53 -202
  4. package/demo/index.js +10 -0
  5. package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
  6. package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
  7. package/dist/fixture-5b79f853.cjs.js +395 -0
  8. package/dist/fixture-5b79f853.cjs.js.map +1 -0
  9. package/dist/fixture-73855806.cjs.js +395 -0
  10. package/dist/fixture-73855806.cjs.js.map +1 -0
  11. package/dist/fixture-90b199c4.esm.js +569 -0
  12. package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
  13. package/dist/fixture-c1d78368.cjs.js +395 -0
  14. package/dist/fixture-c1d78368.cjs.js.map +1 -0
  15. package/dist/fixture-cf7bfcf5.esm.js +569 -0
  16. package/dist/fixture-dbd66009.cjs.js +395 -0
  17. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  18. package/dist/index.cjs.js +1 -1
  19. package/dist/index.esm.js +1 -1
  20. package/dist/index.js +599 -268
  21. package/dist/internal/animate.cjs.js +1 -1
  22. package/dist/internal/animate.cjs.js.map +1 -1
  23. package/dist/internal/animate.esm.js +1 -1
  24. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  25. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  26. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  27. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  28. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  29. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  32. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  33. package/dist/nile-button/nile-button.test.esm.js +1 -1
  34. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  35. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  36. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  37. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  38. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  39. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  40. package/dist/nile-calendar/nile-calendar.css.esm.js +4 -0
  41. package/dist/nile-calendar/nile-calendar.esm.js +2 -0
  42. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  43. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  44. package/dist/nile-card/nile-card.css.cjs.js +1 -1
  45. package/dist/nile-card/nile-card.css.cjs.js.map +1 -1
  46. package/dist/nile-card/nile-card.css.esm.js +1 -1
  47. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  48. package/dist/nile-card/nile-card.test.esm.js +1 -1
  49. package/dist/nile-carousel/carousel-helpers.cjs.js +2 -0
  50. package/dist/nile-carousel/carousel-helpers.cjs.js.map +1 -0
  51. package/dist/nile-carousel/carousel-helpers.esm.js +1 -0
  52. package/dist/nile-carousel/index.cjs.js +2 -0
  53. package/dist/nile-carousel/index.cjs.js.map +1 -0
  54. package/dist/nile-carousel/index.esm.js +1 -0
  55. package/dist/nile-carousel/nile-carousel-item/index.cjs.js +2 -0
  56. package/dist/nile-carousel/nile-carousel-item/index.cjs.js.map +1 -0
  57. package/dist/nile-carousel/nile-carousel-item/index.esm.js +1 -0
  58. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js +2 -0
  59. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js.map +1 -0
  60. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js +2 -0
  61. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js.map +1 -0
  62. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.esm.js +18 -0
  63. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.esm.js +5 -0
  64. package/dist/nile-carousel/nile-carousel.cjs.js +2 -0
  65. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -0
  66. package/dist/nile-carousel/nile-carousel.css.cjs.js +2 -0
  67. package/dist/nile-carousel/nile-carousel.css.cjs.js.map +1 -0
  68. package/dist/nile-carousel/nile-carousel.css.esm.js +157 -0
  69. package/dist/nile-carousel/nile-carousel.esm.js +58 -0
  70. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  71. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  72. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  73. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  74. package/dist/nile-chip/nile-chip.esm.js +9 -6
  75. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  76. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  77. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
  78. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
  79. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
  80. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  81. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  82. package/dist/nile-date-picker/nile-date-picker.esm.js +7 -2
  83. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  84. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  85. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  86. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  87. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  88. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  89. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  90. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  91. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  92. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  93. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  94. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  95. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  96. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  97. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  98. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  99. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  100. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  101. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  102. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  103. package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
  104. package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
  105. package/dist/nile-grid/nile-grid.types.esm.js +1 -0
  106. package/dist/nile-grid-body/index.cjs.js +2 -0
  107. package/dist/nile-grid-body/index.cjs.js.map +1 -0
  108. package/dist/nile-grid-body/index.esm.js +1 -0
  109. package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
  110. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
  111. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
  112. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
  113. package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
  114. package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
  115. package/dist/nile-grid-cell-item/index.cjs.js +2 -0
  116. package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
  117. package/dist/nile-grid-cell-item/index.esm.js +1 -0
  118. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
  119. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
  120. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
  121. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
  122. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
  123. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
  124. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
  125. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
  126. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
  127. package/dist/nile-grid-head/index.cjs.js +2 -0
  128. package/dist/nile-grid-head/index.cjs.js.map +1 -0
  129. package/dist/nile-grid-head/index.esm.js +1 -0
  130. package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
  131. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
  132. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
  133. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
  134. package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
  135. package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
  136. package/dist/nile-grid-head-item/index.cjs.js +2 -0
  137. package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
  138. package/dist/nile-grid-head-item/index.esm.js +1 -0
  139. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
  140. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
  141. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
  142. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
  143. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
  144. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
  145. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
  146. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
  147. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
  148. package/dist/nile-grid-row/index.cjs.js +2 -0
  149. package/dist/nile-grid-row/index.cjs.js.map +1 -0
  150. package/dist/nile-grid-row/index.esm.js +1 -0
  151. package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
  152. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
  153. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
  154. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
  155. package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
  156. package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
  157. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  158. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  159. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  160. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  161. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  162. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  163. package/dist/nile-icon-button/nile-icon-button.esm.js +2 -2
  164. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  165. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  166. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +2 -2
  167. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  168. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  169. package/dist/nile-input/nile-input.css.esm.js +1 -1
  170. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  171. package/dist/nile-input/nile-input.test.esm.js +1 -1
  172. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  173. package/dist/nile-link/nile-link.test.esm.js +1 -1
  174. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  175. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  176. package/dist/nile-option-group/nile-option-group.cjs.js +1 -1
  177. package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -1
  178. package/dist/nile-option-group/nile-option-group.css.cjs.js +1 -1
  179. package/dist/nile-option-group/nile-option-group.css.cjs.js.map +1 -1
  180. package/dist/nile-option-group/nile-option-group.css.esm.js +14 -0
  181. package/dist/nile-option-group/nile-option-group.esm.js +2 -2
  182. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  183. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  184. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  185. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  186. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  187. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  188. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  189. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  190. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  191. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  192. package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
  193. package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
  194. package/dist/nile-rich-text-editor/utils.esm.js +1 -0
  195. package/dist/nile-select/nile-select.cjs.js +1 -1
  196. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  197. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  198. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  199. package/dist/nile-select/nile-select.css.esm.js +4 -2
  200. package/dist/nile-select/nile-select.esm.js +2 -2
  201. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  202. package/dist/nile-select/nile-select.test.esm.js +1 -1
  203. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
  204. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
  205. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +2 -10
  206. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js +1 -1
  207. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js.map +1 -1
  208. package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.esm.js +1 -1
  209. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js +1 -1
  210. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js.map +1 -1
  211. package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.esm.js +4 -4
  212. package/dist/nile-sidebar/index.cjs.js +2 -0
  213. package/dist/nile-sidebar/index.cjs.js.map +1 -0
  214. package/dist/nile-sidebar/index.esm.js +75 -0
  215. package/dist/nile-sidebar-menu/index.cjs.js +2 -0
  216. package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
  217. package/dist/nile-sidebar-menu/index.esm.js +1 -0
  218. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
  219. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
  220. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
  221. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
  222. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
  223. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
  224. package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
  225. package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
  226. package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
  227. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
  228. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
  229. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
  230. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
  231. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
  232. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
  233. package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
  234. package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
  235. package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
  236. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
  237. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
  238. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
  239. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
  240. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
  241. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
  242. package/dist/nile-skeleton-loader/index.cjs.js +2 -0
  243. package/dist/nile-skeleton-loader/index.cjs.js.map +1 -0
  244. package/dist/nile-skeleton-loader/index.esm.js +1 -0
  245. package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js +2 -0
  246. package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js.map +1 -0
  247. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js +2 -0
  248. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js.map +1 -0
  249. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.esm.js +49 -0
  250. package/dist/nile-skeleton-loader/nile-skeleton-loader.esm.js +16 -0
  251. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  252. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  253. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  254. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  255. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  256. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  257. package/dist/nile-tag/nile-tag.esm.js +3 -2
  258. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  259. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  260. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  261. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  262. package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
  263. package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
  264. package/dist/nile-virtual-select/group-manager.esm.js +1 -0
  265. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  266. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  267. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  268. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  269. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  270. package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
  271. package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
  272. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  273. package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
  274. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
  275. package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
  276. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
  277. package/dist/src/index.d.ts +3 -0
  278. package/dist/src/index.js +3 -0
  279. package/dist/src/index.js.map +1 -1
  280. package/dist/src/internal/portal-manager.d.ts +53 -0
  281. package/dist/src/internal/portal-manager.js +196 -0
  282. package/dist/src/internal/portal-manager.js.map +1 -0
  283. package/dist/src/internal/portal.d.ts +60 -0
  284. package/dist/src/internal/portal.js +199 -0
  285. package/dist/src/internal/portal.js.map +1 -0
  286. package/dist/src/internal/resizable-helper.d.ts +59 -0
  287. package/dist/src/internal/resizable-helper.js +115 -0
  288. package/dist/src/internal/resizable-helper.js.map +1 -0
  289. package/dist/src/internal/resizable-styles.d.ts +16 -0
  290. package/dist/src/internal/resizable-styles.js +144 -0
  291. package/dist/src/internal/resizable-styles.js.map +1 -0
  292. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  293. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  294. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  295. package/dist/src/lib/index.d.ts +7 -0
  296. package/dist/src/lib/index.js +8 -0
  297. package/dist/src/lib/index.js.map +1 -0
  298. package/dist/src/lib/virtualize.d.ts +32 -0
  299. package/dist/src/lib/virtualize.js +105 -0
  300. package/dist/src/lib/virtualize.js.map +1 -0
  301. package/dist/src/lib/virtualize.test.d.ts +7 -0
  302. package/dist/src/lib/virtualize.test.js +57 -0
  303. package/dist/src/lib/virtualize.test.js.map +1 -0
  304. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  305. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  306. package/dist/src/nile-calendar/nile-calendar.css.js +4 -0
  307. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  308. package/dist/src/nile-calendar/nile-calendar.js +2 -0
  309. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  310. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  311. package/dist/src/nile-card/nile-card.css.js +1 -1
  312. package/dist/src/nile-card/nile-card.css.js.map +1 -1
  313. package/dist/src/nile-carousel/carousel-helpers.d.ts +18 -0
  314. package/dist/src/nile-carousel/carousel-helpers.js +53 -0
  315. package/dist/src/nile-carousel/carousel-helpers.js.map +1 -0
  316. package/dist/src/nile-carousel/index.d.ts +1 -0
  317. package/dist/src/nile-carousel/index.js +2 -0
  318. package/dist/src/nile-carousel/index.js.map +1 -0
  319. package/dist/src/nile-carousel/nile-carousel-item/index.d.ts +1 -0
  320. package/dist/src/nile-carousel/nile-carousel-item/index.js +2 -0
  321. package/dist/src/nile-carousel/nile-carousel-item/index.js.map +1 -0
  322. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.d.ts +12 -0
  323. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js +30 -0
  324. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js.map +1 -0
  325. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.d.ts +24 -0
  326. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js +35 -0
  327. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js.map +1 -0
  328. package/dist/src/nile-carousel/nile-carousel.css.d.ts +12 -0
  329. package/dist/src/nile-carousel/nile-carousel.css.js +169 -0
  330. package/dist/src/nile-carousel/nile-carousel.css.js.map +1 -0
  331. package/dist/src/nile-carousel/nile-carousel.d.ts +56 -0
  332. package/dist/src/nile-carousel/nile-carousel.js +340 -0
  333. package/dist/src/nile-carousel/nile-carousel.js.map +1 -0
  334. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  335. package/dist/src/nile-chip/nile-chip.d.ts +4 -0
  336. package/dist/src/nile-chip/nile-chip.js +33 -0
  337. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  338. package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
  339. package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
  340. package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
  341. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  342. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
  343. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
  344. package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
  345. package/dist/src/nile-code-editor/theme copy.js +193 -0
  346. package/dist/src/nile-code-editor/theme copy.js.map +1 -0
  347. package/dist/src/nile-date-picker/nile-date-picker.d.ts +4 -0
  348. package/dist/src/nile-date-picker/nile-date-picker.js +19 -0
  349. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  350. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  351. package/dist/src/nile-grid/data-processor.js +122 -0
  352. package/dist/src/nile-grid/data-processor.js.map +1 -0
  353. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  354. package/dist/src/nile-grid/event-handlers.js +158 -0
  355. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  356. package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
  357. package/dist/src/nile-grid/nile-grid.types.js +2 -0
  358. package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
  359. package/dist/src/nile-grid/renderer.d.ts +8 -0
  360. package/dist/src/nile-grid/renderer.js +78 -0
  361. package/dist/src/nile-grid/renderer.js.map +1 -0
  362. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  363. package/dist/src/nile-grid/resize-handler.js +36 -0
  364. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  365. package/dist/src/nile-grid/types.d.ts +32 -0
  366. package/dist/src/nile-grid/types.js +2 -0
  367. package/dist/src/nile-grid/types.js.map +1 -0
  368. package/dist/src/nile-grid/utils.d.ts +4 -0
  369. package/dist/src/nile-grid/utils.js +32 -0
  370. package/dist/src/nile-grid/utils.js.map +1 -0
  371. package/dist/src/nile-grid-body/index.d.ts +1 -0
  372. package/dist/src/nile-grid-body/index.js +2 -0
  373. package/dist/src/nile-grid-body/index.js.map +1 -0
  374. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
  375. package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
  376. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
  377. package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
  378. package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
  379. package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
  380. package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
  381. package/dist/src/nile-grid-cell-item/index.js +2 -0
  382. package/dist/src/nile-grid-cell-item/index.js.map +1 -0
  383. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
  384. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
  385. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
  386. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
  387. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
  388. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
  389. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
  390. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
  391. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
  392. package/dist/src/nile-grid-head/index.d.ts +1 -0
  393. package/dist/src/nile-grid-head/index.js +2 -0
  394. package/dist/src/nile-grid-head/index.js.map +1 -0
  395. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
  396. package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
  397. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
  398. package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
  399. package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
  400. package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
  401. package/dist/src/nile-grid-head-item/index.d.ts +1 -0
  402. package/dist/src/nile-grid-head-item/index.js +2 -0
  403. package/dist/src/nile-grid-head-item/index.js.map +1 -0
  404. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
  405. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
  406. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
  407. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
  408. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
  409. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
  410. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
  411. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
  412. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
  413. package/dist/src/nile-grid-row/index.d.ts +1 -0
  414. package/dist/src/nile-grid-row/index.js +2 -0
  415. package/dist/src/nile-grid-row/index.js.map +1 -0
  416. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
  417. package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
  418. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
  419. package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
  420. package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
  421. package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
  422. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  423. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  424. package/dist/src/nile-icon-button/nile-icon-button.js +2 -2
  425. package/dist/src/nile-icon-button/nile-icon-button.js.map +1 -1
  426. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +2 -2
  427. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  428. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  429. package/dist/src/nile-input/nile-input.css.js +1 -1
  430. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  431. package/dist/src/nile-menu/portal-manager.d.ts +39 -0
  432. package/dist/src/nile-menu/portal-manager.js +340 -0
  433. package/dist/src/nile-menu/portal-manager.js.map +1 -0
  434. package/dist/src/nile-menu/portal-utils.d.ts +21 -0
  435. package/dist/src/nile-menu/portal-utils.js +128 -0
  436. package/dist/src/nile-menu/portal-utils.js.map +1 -0
  437. package/dist/src/nile-option-group/nile-option-group.css.js +14 -0
  438. package/dist/src/nile-option-group/nile-option-group.css.js.map +1 -1
  439. package/dist/src/nile-option-group/nile-option-group.d.ts +1 -0
  440. package/dist/src/nile-option-group/nile-option-group.js +4 -0
  441. package/dist/src/nile-option-group/nile-option-group.js.map +1 -1
  442. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  443. package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
  444. package/dist/src/nile-popover/popover-portal-handler.js +106 -0
  445. package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
  446. package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
  447. package/dist/src/nile-portal-wrapper/index.js +2 -0
  448. package/dist/src/nile-portal-wrapper/index.js.map +1 -0
  449. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
  450. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
  451. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
  452. package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
  453. package/dist/src/nile-rich-text-editor/utils.js +538 -0
  454. package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
  455. package/dist/src/nile-select/body-append-manager.d.ts +90 -0
  456. package/dist/src/nile-select/body-append-manager.js +298 -0
  457. package/dist/src/nile-select/body-append-manager.js.map +1 -0
  458. package/dist/src/nile-select/nile-select.css.js +4 -2
  459. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  460. package/dist/src/nile-select/nile-select.d.ts +3 -0
  461. package/dist/src/nile-select/nile-select.js +32 -0
  462. package/dist/src/nile-select/nile-select.js.map +1 -1
  463. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +1 -9
  464. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
  465. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js +1 -1
  466. package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js.map +1 -1
  467. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js +2 -2
  468. package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js.map +1 -1
  469. package/dist/src/nile-sidebar/index.d.ts +28 -0
  470. package/dist/src/nile-sidebar/index.js +116 -0
  471. package/dist/src/nile-sidebar/index.js.map +1 -0
  472. package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
  473. package/dist/src/nile-sidebar-menu/index.js +2 -0
  474. package/dist/src/nile-sidebar-menu/index.js.map +1 -0
  475. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
  476. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
  477. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
  478. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
  479. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
  480. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
  481. package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
  482. package/dist/src/nile-sidebar-menu-items/index.js +2 -0
  483. package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
  484. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
  485. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
  486. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
  487. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
  488. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
  489. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
  490. package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
  491. package/dist/src/nile-sidebar-wrapper/index.js +2 -0
  492. package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
  493. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
  494. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
  495. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
  496. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
  497. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
  498. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
  499. package/dist/src/nile-skeleton-loader/index.d.ts +1 -0
  500. package/dist/src/nile-skeleton-loader/index.js +2 -0
  501. package/dist/src/nile-skeleton-loader/index.js.map +1 -0
  502. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.d.ts +3 -0
  503. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js +52 -0
  504. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js.map +1 -0
  505. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.d.ts +20 -0
  506. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.js +104 -0
  507. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.js.map +1 -0
  508. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  509. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  510. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  511. package/dist/src/nile-tag/nile-tag.d.ts +2 -0
  512. package/dist/src/nile-tag/nile-tag.js +6 -0
  513. package/dist/src/nile-tag/nile-tag.js.map +1 -1
  514. package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
  515. package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
  516. package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
  517. package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
  518. package/dist/src/nile-virtual-select/group-manager.js +134 -0
  519. package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
  520. package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
  521. package/dist/src/nile-virtual-select/portal-utils.js +376 -0
  522. package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
  523. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  524. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  525. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  526. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  527. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  528. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  529. package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
  530. package/dist/src/nile-virtual-select-disabled/index.js +2 -0
  531. package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
  532. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
  533. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
  534. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
  535. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
  536. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
  537. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
  538. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
  539. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
  540. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
  541. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
  542. package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
  543. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
  544. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
  545. package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
  546. package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
  547. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
  548. package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
  549. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
  550. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
  551. package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
  552. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
  553. package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
  554. package/dist/src/nile-virtual-select-disabled/types.js +8 -0
  555. package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
  556. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  557. package/dist/src/nile-virtual-table-body/index.js +3 -0
  558. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  559. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  560. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  561. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  562. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  563. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  564. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  565. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  566. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  567. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  568. package/dist/src/utilities/stepper-utils.d.ts +71 -0
  569. package/dist/src/utilities/stepper-utils.js +108 -0
  570. package/dist/src/utilities/stepper-utils.js.map +1 -0
  571. package/dist/src/version.js +2 -2
  572. package/dist/src/version.js.map +1 -1
  573. package/dist/tsconfig.tsbuildinfo +1 -1
  574. package/package.json +1 -1
  575. package/src/index.ts +3 -0
  576. package/src/nile-calendar/nile-calendar.css.ts +4 -0
  577. package/src/nile-calendar/nile-calendar.ts +2 -0
  578. package/src/nile-card/nile-card.css.ts +1 -1
  579. package/src/nile-carousel/carousel-helpers.ts +83 -0
  580. package/src/nile-carousel/index.ts +2 -0
  581. package/src/nile-carousel/nile-carousel-item/index.ts +2 -0
  582. package/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.ts +33 -0
  583. package/src/nile-carousel/nile-carousel-item/nile-carousel-item.ts +42 -0
  584. package/src/nile-carousel/nile-carousel.css.ts +172 -0
  585. package/src/nile-carousel/nile-carousel.ts +404 -0
  586. package/src/nile-chip/nile-chip.ts +34 -0
  587. package/src/nile-date-picker/nile-date-picker.ts +12 -0
  588. package/src/nile-icon-button/nile-icon-button.ts +2 -2
  589. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +2 -2
  590. package/src/nile-input/nile-input.css.ts +1 -1
  591. package/src/nile-option-group/nile-option-group.css.ts +14 -0
  592. package/src/nile-option-group/nile-option-group.ts +1 -0
  593. package/src/nile-select/nile-select.css.ts +4 -2
  594. package/src/nile-select/nile-select.ts +33 -2
  595. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +1 -9
  596. package/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.ts +1 -1
  597. package/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.ts +2 -2
  598. package/src/nile-skeleton-loader/index.ts +2 -0
  599. package/src/nile-skeleton-loader/nile-skeleton-loader.css.ts +54 -0
  600. package/src/nile-skeleton-loader/nile-skeleton-loader.ts +106 -0
  601. package/src/nile-tag/nile-tag.ts +4 -0
  602. package/vscode-html-custom-data.json +138 -21
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
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 { css } from 'lit';
8
+ /**
9
+ * Carousel CSS
10
+ */
11
+ export const styles = css `
12
+ :host {
13
+ --slide-gap: var(--nile-spacing-md, var(--ng-spacing-md));
14
+ display: block;
15
+ position: relative;
16
+ }
17
+
18
+ .carousel {
19
+ display: flex;
20
+ flex-direction: column;
21
+ position: relative;
22
+ }
23
+
24
+ .carousel__content-wrapper {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: var(--nile-spacing-sm, var(--ng-spacing-sm));
28
+ width: 100%;
29
+ }
30
+
31
+ .carousel__slides {
32
+ display: flex;
33
+ overflow-x: auto;
34
+ overflow-y: hidden;
35
+ scroll-snap-type: x mandatory;
36
+ scroll-behavior: smooth;
37
+ gap: var(--slide-gap);
38
+ padding: 0px;
39
+ scrollbar-width: none;
40
+ -ms-overflow-style: none;
41
+ flex: 1;
42
+ min-width: 0;
43
+ }
44
+
45
+ .carousel__slides::-webkit-scrollbar {
46
+ display: none;
47
+ }
48
+
49
+ .carousel__slides--horizontal {
50
+ flex-direction: row;
51
+ }
52
+
53
+ .carousel__slides--vertical {
54
+ flex-direction: column;
55
+ overflow-x: hidden;
56
+ overflow-y: auto;
57
+ scroll-snap-type: y mandatory;
58
+ }
59
+
60
+ .carousel__slides:focus {
61
+ outline: none;
62
+ }
63
+
64
+ .carousel__slides:focus-visible {
65
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
66
+ outline-offset: 2px;
67
+ }
68
+
69
+ ::slotted(nile-carousel-item) {
70
+ flex: 0 0 calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));
71
+ min-width: 0;
72
+ }
73
+
74
+ .carousel__navigation-button {
75
+ display: inline-flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ width: 2.5rem;
79
+ height: 2.5rem;
80
+ padding: 0;
81
+ background: rgba(255, 255, 255, 0.9);
82
+ border: 1px solid var(--nile-colors-dark-200, var(--ng-colors-border-secondary));
83
+ border-radius: 50%;
84
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
85
+ cursor: pointer;
86
+ flex-shrink: 0;
87
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
88
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
89
+ }
90
+
91
+ .carousel__navigation-button:hover:not(.carousel__navigation-button--disabled) {
92
+ background: rgba(255, 255, 255, 1);
93
+ border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));
94
+ transform: scale(1.1);
95
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
96
+ }
97
+
98
+ .carousel__navigation-button:active:not(.carousel__navigation-button--disabled) {
99
+ background: rgba(255, 255, 255, 1);
100
+ transform: scale(0.95);
101
+ }
102
+
103
+ .carousel__navigation-button--disabled {
104
+ opacity: 0.4;
105
+ cursor: not-allowed;
106
+ pointer-events: none;
107
+ }
108
+
109
+
110
+ .carousel__navigation-button:focus {
111
+ outline: none;
112
+ }
113
+
114
+ .carousel__navigation-button:focus-visible {
115
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
116
+ outline-offset: 2px;
117
+ }
118
+
119
+ .carousel__pagination {
120
+ display: flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
124
+ margin-top: var(--nile-spacing-md, var(--ng-spacing-md));
125
+ position: relative;
126
+ z-index: 2;
127
+ }
128
+
129
+ .carousel__pagination-item {
130
+ width: 0.75rem;
131
+ height: 0.75rem;
132
+ padding: 0;
133
+ background: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
134
+ border: 2px solid var(--nile-colors-white-base, var(--ng-colors-bg-primary));
135
+ border-radius: 50%;
136
+ cursor: pointer;
137
+ transition: background-color 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
138
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
139
+ }
140
+
141
+ .carousel__pagination-item:hover {
142
+ background: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));
143
+ transform: scale(1.15);
144
+ border-color: var(--nile-colors-dark-200, var(--ng-colors-border-secondary));
145
+ }
146
+
147
+ .carousel__pagination-item--active {
148
+ width: 0.875rem;
149
+ height: 0.875rem;
150
+ background: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
151
+ border-color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
152
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
153
+ }
154
+
155
+ .carousel__pagination-item:focus {
156
+ outline: none;
157
+ }
158
+
159
+ .carousel__pagination-item:focus-visible {
160
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
161
+ outline-offset: 2px;
162
+ }
163
+
164
+ :host([hidden]) {
165
+ display: none;
166
+ }
167
+ `;
168
+ export default [styles];
169
+ //# sourceMappingURL=nile-carousel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-carousel.css.js","sourceRoot":"","sources":["../../../src/nile-carousel/nile-carousel.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\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 { css } from 'lit';\n\n/**\n * Carousel CSS\n */\nexport const styles = css`\n :host {\n --slide-gap: var(--nile-spacing-md, var(--ng-spacing-md));\n display: block;\n position: relative;\n }\n\n .carousel {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n .carousel__content-wrapper {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n width: 100%;\n }\n\n .carousel__slides {\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n scroll-behavior: smooth;\n gap: var(--slide-gap);\n padding: 0px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n flex: 1;\n min-width: 0;\n }\n\n .carousel__slides::-webkit-scrollbar {\n display: none;\n }\n\n .carousel__slides--horizontal {\n flex-direction: row;\n }\n\n .carousel__slides--vertical {\n flex-direction: column;\n overflow-x: hidden;\n overflow-y: auto;\n scroll-snap-type: y mandatory;\n }\n\n .carousel__slides:focus {\n outline: none;\n }\n\n .carousel__slides:focus-visible {\n outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n outline-offset: 2px;\n }\n\n ::slotted(nile-carousel-item) {\n flex: 0 0 calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));\n min-width: 0;\n }\n\n .carousel__navigation-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n padding: 0;\n background: rgba(255, 255, 255, 0.9);\n border: 1px solid var(--nile-colors-dark-200, var(--ng-colors-border-secondary));\n border-radius: 50%;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n flex-shrink: 0;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n }\n\n .carousel__navigation-button:hover:not(.carousel__navigation-button--disabled) {\n background: rgba(255, 255, 255, 1);\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));\n transform: scale(1.1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n }\n\n .carousel__navigation-button:active:not(.carousel__navigation-button--disabled) {\n background: rgba(255, 255, 255, 1);\n transform: scale(0.95);\n }\n\n .carousel__navigation-button--disabled {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n\n .carousel__navigation-button:focus {\n outline: none;\n }\n\n .carousel__navigation-button:focus-visible {\n outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n outline-offset: 2px;\n }\n\n .carousel__pagination {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n margin-top: var(--nile-spacing-md, var(--ng-spacing-md));\n position: relative;\n z-index: 2;\n }\n\n .carousel__pagination-item {\n width: 0.75rem;\n height: 0.75rem;\n padding: 0;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border: 2px solid var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 50%;\n cursor: pointer;\n transition: background-color 0.15s ease, transform 0.15s ease, border-color 0.15s ease;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n }\n\n .carousel__pagination-item:hover {\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));\n transform: scale(1.15);\n border-color: var(--nile-colors-dark-200, var(--ng-colors-border-secondary));\n }\n\n .carousel__pagination-item--active {\n width: 0.875rem;\n height: 0.875rem;\n background: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n border-color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);\n }\n\n .carousel__pagination-item:focus {\n outline: none;\n }\n\n .carousel__pagination-item:focus-visible {\n outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n outline-offset: 2px;\n }\n\n :host([hidden]) {\n display: none;\n }\n`;\n\nexport default [styles];\n\n"]}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
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 '../nile-icon';
8
+ import './nile-carousel-item/nile-carousel-item';
9
+ import { CSSResultArray, TemplateResult } from 'lit';
10
+ import NileElement from '../internal/nile-element';
11
+ import type { PropertyValueMap } from 'lit';
12
+ export declare class NileCarousel extends NileElement {
13
+ static styles: CSSResultArray;
14
+ navigation: boolean;
15
+ pagination: boolean;
16
+ slidesPerPage: number;
17
+ slidesPerMove: number;
18
+ orientation: 'horizontal' | 'vertical';
19
+ scrollContainer: HTMLElement;
20
+ paginationContainer: HTMLElement;
21
+ activeSlide: number;
22
+ scrolling: boolean;
23
+ private mutationObserver;
24
+ private pendingSlideChange;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ protected firstUpdated(): void;
28
+ protected willUpdate(changedProperties: PropertyValueMap<NileCarousel> | Map<PropertyKey, unknown>): void;
29
+ private getPageCount;
30
+ private getCurrentPage;
31
+ private canScrollNext;
32
+ private canScrollPrev;
33
+ private getSlides;
34
+ private handleKeyDown;
35
+ private handleScroll;
36
+ private handleScrollEnd;
37
+ private handleSlotChange;
38
+ private initializeSlides;
39
+ handleSlideChange(): void;
40
+ updateSlidesSnap(): void;
41
+ previous(behavior?: ScrollBehavior): void;
42
+ next(behavior?: ScrollBehavior): void;
43
+ goToSlide(index: number, behavior?: ScrollBehavior): void;
44
+ private scrollToSlide;
45
+ private renderNavigationButton;
46
+ private renderScrollContainer;
47
+ private renderPaginationItem;
48
+ private renderPagination;
49
+ render(): TemplateResult<1>;
50
+ }
51
+ export default NileCarousel;
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ 'nile-carousel': NileCarousel;
55
+ }
56
+ }
@@ -0,0 +1,340 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
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 { __decorate } from "tslib";
8
+ import '../nile-icon';
9
+ import './nile-carousel-item/nile-carousel-item';
10
+ import { html } from 'lit';
11
+ import { classMap } from 'lit/directives/class-map.js';
12
+ import { customElement, property, query, state } from 'lit/decorators.js';
13
+ import { map } from 'lit/directives/map.js';
14
+ import { range } from 'lit/directives/range.js';
15
+ import { clamp } from '../internal/math';
16
+ import { prefersReducedMotion } from '../internal/animate';
17
+ import { watch } from '../internal/watch';
18
+ import { styles } from './nile-carousel.css';
19
+ import NileElement from '../internal/nile-element';
20
+ import { isCarouselItem, findMostVisibleSlide, getPageCount, getCurrentPage, canScrollNext, canScrollPrev, shouldSnapToSlide, calculateScrollPosition } from './carousel-helpers';
21
+ let NileCarousel = class NileCarousel extends NileElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.navigation = false;
25
+ this.pagination = false;
26
+ this.slidesPerPage = 1;
27
+ this.slidesPerMove = 1;
28
+ this.orientation = 'horizontal';
29
+ this.activeSlide = 0;
30
+ this.scrolling = false;
31
+ this.pendingSlideChange = false;
32
+ this.handleScroll = () => {
33
+ if (!this.scrollContainer) {
34
+ return;
35
+ }
36
+ this.scrolling = true;
37
+ this.pendingSlideChange = false;
38
+ const slides = this.getSlides();
39
+ const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer, this.orientation);
40
+ if (mostVisibleSlide) {
41
+ const newActiveIndex = slides.indexOf(mostVisibleSlide);
42
+ if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {
43
+ this.activeSlide = newActiveIndex;
44
+ }
45
+ }
46
+ };
47
+ this.handleScrollEnd = () => {
48
+ this.scrolling = false;
49
+ this.pendingSlideChange = false;
50
+ };
51
+ this.handleSlotChange = () => {
52
+ this.initializeSlides();
53
+ };
54
+ }
55
+ connectedCallback() {
56
+ super.connectedCallback();
57
+ this.setAttribute('role', 'region');
58
+ this.setAttribute('aria-label', 'carousel');
59
+ }
60
+ disconnectedCallback() {
61
+ super.disconnectedCallback();
62
+ this.mutationObserver?.disconnect();
63
+ }
64
+ firstUpdated() {
65
+ this.initializeSlides();
66
+ this.mutationObserver = new MutationObserver(this.handleSlotChange);
67
+ this.mutationObserver.observe(this, {
68
+ childList: true,
69
+ subtree: true
70
+ });
71
+ }
72
+ willUpdate(changedProperties) {
73
+ if (changedProperties.has('slidesPerMove') || changedProperties.has('slidesPerPage')) {
74
+ this.slidesPerMove = Math.min(this.slidesPerMove, this.slidesPerPage);
75
+ }
76
+ }
77
+ getPageCount() {
78
+ const slidesCount = this.getSlides().length;
79
+ return getPageCount(slidesCount, this.slidesPerPage, this.slidesPerMove);
80
+ }
81
+ getCurrentPage() {
82
+ return getCurrentPage(this.activeSlide, this.slidesPerMove);
83
+ }
84
+ canScrollNext() {
85
+ return canScrollNext(this.getCurrentPage(), this.getPageCount());
86
+ }
87
+ canScrollPrev() {
88
+ return canScrollPrev(this.getCurrentPage());
89
+ }
90
+ getSlides() {
91
+ return [...this.children].filter((el) => isCarouselItem(el));
92
+ }
93
+ handleKeyDown(event) {
94
+ if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
95
+ const target = event.target;
96
+ const isFocusInPagination = target.closest('[part~="pagination-item"]') !== null;
97
+ const isNext = event.key === 'ArrowDown' || event.key === 'ArrowRight';
98
+ const isPrevious = event.key === 'ArrowUp' || event.key === 'ArrowLeft';
99
+ event.preventDefault();
100
+ if (isPrevious) {
101
+ this.previous();
102
+ }
103
+ if (isNext) {
104
+ this.next();
105
+ }
106
+ if (event.key === 'Home') {
107
+ this.goToSlide(0);
108
+ }
109
+ if (event.key === 'End') {
110
+ this.goToSlide(this.getSlides().length - 1);
111
+ }
112
+ if (isFocusInPagination) {
113
+ this.updateComplete.then(() => {
114
+ const activePaginationItem = this.shadowRoot?.querySelector('[part~="pagination-item--active"]');
115
+ if (activePaginationItem) {
116
+ activePaginationItem.focus();
117
+ }
118
+ });
119
+ }
120
+ }
121
+ }
122
+ initializeSlides() {
123
+ const slides = this.getSlides();
124
+ if (!slides.length) {
125
+ return;
126
+ }
127
+ slides.forEach((slide, i) => {
128
+ slide.classList.toggle('--is-active', i === this.activeSlide);
129
+ });
130
+ this.updateSlidesSnap();
131
+ }
132
+ handleSlideChange() {
133
+ const slides = this.getSlides();
134
+ slides.forEach((slide, i) => {
135
+ slide.classList.toggle('--is-active', i === this.activeSlide);
136
+ });
137
+ if (this.hasUpdated) {
138
+ this.emit('nile-slide-change', {
139
+ detail: {
140
+ index: this.activeSlide,
141
+ slide: slides[this.activeSlide]
142
+ }
143
+ });
144
+ }
145
+ }
146
+ updateSlidesSnap() {
147
+ const slides = this.getSlides();
148
+ const slidesPerMove = this.slidesPerMove;
149
+ slides.forEach((slide, i) => {
150
+ if (shouldSnapToSlide(i, slidesPerMove)) {
151
+ slide.style.removeProperty('scroll-snap-align');
152
+ }
153
+ else {
154
+ slide.style.setProperty('scroll-snap-align', 'none');
155
+ }
156
+ });
157
+ }
158
+ previous(behavior = 'smooth') {
159
+ this.goToSlide(this.activeSlide - this.slidesPerMove, behavior);
160
+ }
161
+ next(behavior = 'smooth') {
162
+ this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);
163
+ }
164
+ goToSlide(index, behavior = 'smooth') {
165
+ const { slidesPerPage } = this;
166
+ const slides = this.getSlides();
167
+ if (!slides.length) {
168
+ return;
169
+ }
170
+ const newActiveSlide = clamp(index, 0, slides.length - slidesPerPage);
171
+ this.activeSlide = newActiveSlide;
172
+ const nextSlideIndex = clamp(index, 0, slides.length - 1);
173
+ const nextSlide = slides[nextSlideIndex];
174
+ this.scrollToSlide(nextSlide, prefersReducedMotion() ? 'auto' : behavior);
175
+ }
176
+ scrollToSlide(slide, behavior = 'smooth') {
177
+ this.pendingSlideChange = true;
178
+ window.requestAnimationFrame(() => {
179
+ if (!this.scrollContainer) {
180
+ return;
181
+ }
182
+ const scrollContainer = this.scrollContainer;
183
+ const scrollContainerRect = scrollContainer.getBoundingClientRect();
184
+ const nextSlideRect = slide.getBoundingClientRect();
185
+ const nextLeft = nextSlideRect.left - scrollContainerRect.left;
186
+ const nextTop = nextSlideRect.top - scrollContainerRect.top;
187
+ if (nextLeft || nextTop) {
188
+ const scrollPosition = calculateScrollPosition(nextSlideRect, scrollContainerRect, scrollContainer.scrollLeft, scrollContainer.scrollTop);
189
+ this.pendingSlideChange = true;
190
+ scrollContainer.scrollTo({
191
+ left: scrollPosition.left,
192
+ top: scrollPosition.top,
193
+ behavior
194
+ });
195
+ }
196
+ else {
197
+ this.pendingSlideChange = false;
198
+ }
199
+ });
200
+ }
201
+ renderNavigationButton(direction, enabled, onClick) {
202
+ const isPrevious = direction === 'previous';
203
+ const iconName = isPrevious ? 'arrowleft' : 'arrowright';
204
+ const slotName = isPrevious ? 'previous-icon' : 'next-icon';
205
+ const partName = isPrevious ? 'navigation-button--previous' : 'navigation-button--next';
206
+ const ariaLabel = isPrevious ? 'Previous slide' : 'Next slide';
207
+ return html `
208
+ <button
209
+ part="navigation-button ${partName}"
210
+ class="${classMap({
211
+ 'carousel__navigation-button': true,
212
+ [`carousel__navigation-button--${direction}`]: true,
213
+ 'carousel__navigation-button--disabled': !enabled
214
+ })}"
215
+ aria-label="${ariaLabel}"
216
+ aria-controls="scroll-container"
217
+ aria-disabled="${enabled ? 'false' : 'true'}"
218
+ @click=${enabled ? onClick : null}
219
+ >
220
+ <slot name="${slotName}">
221
+ <nile-icon
222
+ library="system"
223
+ name="${iconName}"
224
+ ></nile-icon>
225
+ </slot>
226
+ </button>
227
+ `;
228
+ }
229
+ renderScrollContainer() {
230
+ return html `
231
+ <div
232
+ id="scroll-container"
233
+ part="scroll-container"
234
+ class="${classMap({
235
+ carousel__slides: true,
236
+ 'carousel__slides--horizontal': this.orientation === 'horizontal',
237
+ 'carousel__slides--vertical': this.orientation === 'vertical'
238
+ })}"
239
+ style="--slides-per-page: ${this.slidesPerPage};"
240
+ aria-busy="${this.scrolling ? 'true' : 'false'}"
241
+ aria-atomic="true"
242
+ tabindex="0"
243
+ @keydown=${this.handleKeyDown}
244
+ @scroll="${this.handleScroll}"
245
+ @scrollend=${this.handleScrollEnd}
246
+ >
247
+ <slot></slot>
248
+ </div>
249
+ `;
250
+ }
251
+ renderPaginationItem(index, pagesCount, currentPage, slidesPerMove) {
252
+ const isActive = index === currentPage;
253
+ return html `
254
+ <button
255
+ part="pagination-item ${isActive ? 'pagination-item--active' : ''}"
256
+ class="${classMap({
257
+ 'carousel__pagination-item': true,
258
+ 'carousel__pagination-item--active': isActive
259
+ })}"
260
+ role="tab"
261
+ id="tab-${index + 1}"
262
+ aria-controls="slide-${index + 1}"
263
+ aria-selected="${isActive ? 'true' : 'false'}"
264
+ aria-label="${isActive
265
+ ? `Slide ${index + 1}`
266
+ : `Go to slide ${index + 1} of ${pagesCount}`}"
267
+ tabindex=${isActive ? '0' : '-1'}
268
+ @click=${() => this.goToSlide(index * slidesPerMove)}
269
+ @keydown=${this.handleKeyDown}
270
+ ></button>
271
+ `;
272
+ }
273
+ renderPagination() {
274
+ if (!this.pagination) {
275
+ return html ``;
276
+ }
277
+ const pagesCount = this.getPageCount();
278
+ const currentPage = this.getCurrentPage();
279
+ const slidesPerMove = this.slidesPerMove;
280
+ return html `
281
+ <div part="pagination" role="tablist" class="carousel__pagination">
282
+ ${map(range(pagesCount), index => this.renderPaginationItem(index, pagesCount, currentPage, slidesPerMove))}
283
+ </div>
284
+ `;
285
+ }
286
+ render() {
287
+ const prevEnabled = this.canScrollPrev();
288
+ const nextEnabled = this.canScrollNext();
289
+ return html `
290
+ <div part="base" class="carousel">
291
+ <div class="carousel__content-wrapper">
292
+ ${this.navigation ? this.renderNavigationButton('previous', prevEnabled, () => this.previous()) : ''}
293
+ ${this.renderScrollContainer()}
294
+ ${this.navigation ? this.renderNavigationButton('next', nextEnabled, () => this.next()) : ''}
295
+ </div>
296
+ ${this.renderPagination()}
297
+ </div>
298
+ `;
299
+ }
300
+ };
301
+ NileCarousel.styles = [styles];
302
+ __decorate([
303
+ property({ type: Boolean, reflect: true })
304
+ ], NileCarousel.prototype, "navigation", void 0);
305
+ __decorate([
306
+ property({ type: Boolean, reflect: true })
307
+ ], NileCarousel.prototype, "pagination", void 0);
308
+ __decorate([
309
+ property({ type: Number, attribute: 'slides-per-page' })
310
+ ], NileCarousel.prototype, "slidesPerPage", void 0);
311
+ __decorate([
312
+ property({ type: Number, attribute: 'slides-per-move' })
313
+ ], NileCarousel.prototype, "slidesPerMove", void 0);
314
+ __decorate([
315
+ property()
316
+ ], NileCarousel.prototype, "orientation", void 0);
317
+ __decorate([
318
+ query('.carousel__slides')
319
+ ], NileCarousel.prototype, "scrollContainer", void 0);
320
+ __decorate([
321
+ query('.carousel__pagination')
322
+ ], NileCarousel.prototype, "paginationContainer", void 0);
323
+ __decorate([
324
+ state()
325
+ ], NileCarousel.prototype, "activeSlide", void 0);
326
+ __decorate([
327
+ state()
328
+ ], NileCarousel.prototype, "scrolling", void 0);
329
+ __decorate([
330
+ watch('activeSlide')
331
+ ], NileCarousel.prototype, "handleSlideChange", null);
332
+ __decorate([
333
+ watch('slidesPerMove')
334
+ ], NileCarousel.prototype, "updateSlidesSnap", null);
335
+ NileCarousel = __decorate([
336
+ customElement('nile-carousel')
337
+ ], NileCarousel);
338
+ export { NileCarousel };
339
+ export default NileCarousel;
340
+ //# sourceMappingURL=nile-carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-carousel.js","sourceRoot":"","sources":["../../../src/nile-carousel/nile-carousel.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\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 '../nile-icon';\nimport './nile-carousel-item/nile-carousel-item';\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { map } from 'lit/directives/map.js';\nimport { range } from 'lit/directives/range.js';\nimport { clamp } from '../internal/math';\nimport { prefersReducedMotion } from '../internal/animate';\nimport { watch } from '../internal/watch';\nimport { styles } from './nile-carousel.css';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\nimport type NileCarouselItem from './nile-carousel-item/nile-carousel-item';\nimport {\n isCarouselItem,\n findMostVisibleSlide,\n getPageCount,\n getCurrentPage,\n canScrollNext,\n canScrollPrev,\n shouldSnapToSlide,\n calculateScrollPosition\n} from './carousel-helpers';\n\n@customElement('nile-carousel')\nexport class NileCarousel extends NileElement {\n static styles: CSSResultArray = [styles];\n\n @property({ type: Boolean, reflect: true }) navigation = false;\n\n @property({ type: Boolean, reflect: true }) pagination = false;\n\n @property({ type: Number, attribute: 'slides-per-page' }) slidesPerPage = 1;\n\n @property({ type: Number, attribute: 'slides-per-move' }) slidesPerMove = 1;\n\n @property() orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n @query('.carousel__slides') scrollContainer: HTMLElement;\n @query('.carousel__pagination') paginationContainer: HTMLElement;\n\n @state() activeSlide = 0;\n\n @state() scrolling = false;\n\n private mutationObserver: MutationObserver;\n private pendingSlideChange = false;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'region');\n this.setAttribute('aria-label', 'carousel');\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n }\n\n protected firstUpdated(): void {\n this.initializeSlides();\n this.mutationObserver = new MutationObserver(this.handleSlotChange);\n this.mutationObserver.observe(this, {\n childList: true,\n subtree: true\n });\n }\n\n protected willUpdate(changedProperties: PropertyValueMap<NileCarousel> | Map<PropertyKey, unknown>): void {\n if (changedProperties.has('slidesPerMove') || changedProperties.has('slidesPerPage')) {\n this.slidesPerMove = Math.min(this.slidesPerMove, this.slidesPerPage);\n }\n }\n\n private getPageCount() {\n const slidesCount = this.getSlides().length;\n return getPageCount(slidesCount, this.slidesPerPage, this.slidesPerMove);\n }\n\n private getCurrentPage() {\n return getCurrentPage(this.activeSlide, this.slidesPerMove);\n }\n\n private canScrollNext(): boolean {\n return canScrollNext(this.getCurrentPage(), this.getPageCount());\n }\n\n private canScrollPrev(): boolean {\n return canScrollPrev(this.getCurrentPage());\n }\n\n private getSlides() {\n return [...this.children].filter(\n (el: HTMLElement) => isCarouselItem(el)\n ) as NileCarouselItem[];\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const target = event.target as HTMLElement;\n const isFocusInPagination = target.closest('[part~=\"pagination-item\"]') !== null;\n const isNext =\n event.key === 'ArrowDown' || event.key === 'ArrowRight';\n const isPrevious =\n event.key === 'ArrowUp' || event.key === 'ArrowLeft';\n\n event.preventDefault();\n\n if (isPrevious) {\n this.previous();\n }\n\n if (isNext) {\n this.next();\n }\n\n if (event.key === 'Home') {\n this.goToSlide(0);\n }\n\n if (event.key === 'End') {\n this.goToSlide(this.getSlides().length - 1);\n }\n\n if (isFocusInPagination) {\n this.updateComplete.then(() => {\n const activePaginationItem = this.shadowRoot?.querySelector<HTMLButtonElement>(\n '[part~=\"pagination-item--active\"]'\n );\n\n if (activePaginationItem) {\n activePaginationItem.focus();\n }\n });\n }\n }\n }\n\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n this.scrolling = true;\n this.pendingSlideChange = false;\n\n const slides = this.getSlides();\n const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer, this.orientation);\n\n if (mostVisibleSlide) {\n const newActiveIndex = slides.indexOf(mostVisibleSlide);\n if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {\n this.activeSlide = newActiveIndex;\n }\n }\n };\n\n private handleScrollEnd = () => {\n this.scrolling = false;\n this.pendingSlideChange = false;\n };\n\n private handleSlotChange = () => {\n this.initializeSlides();\n };\n\n private initializeSlides() {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n\n slides.forEach((slide, i) => {\n slide.classList.toggle('--is-active', i === this.activeSlide);\n });\n\n this.updateSlidesSnap();\n }\n\n @watch('activeSlide')\n handleSlideChange() {\n const slides = this.getSlides();\n slides.forEach((slide, i) => {\n slide.classList.toggle('--is-active', i === this.activeSlide);\n });\n\n if (this.hasUpdated) {\n this.emit('nile-slide-change', {\n detail: {\n index: this.activeSlide,\n slide: slides[this.activeSlide]\n }\n });\n }\n }\n\n @watch('slidesPerMove')\n updateSlidesSnap() {\n const slides = this.getSlides();\n const slidesPerMove = this.slidesPerMove;\n\n slides.forEach((slide, i) => {\n if (shouldSnapToSlide(i, slidesPerMove)) {\n slide.style.removeProperty('scroll-snap-align');\n } else {\n slide.style.setProperty('scroll-snap-align', 'none');\n }\n });\n }\n\n previous(behavior: ScrollBehavior = 'smooth') {\n this.goToSlide(this.activeSlide - this.slidesPerMove, behavior);\n }\n\n next(behavior: ScrollBehavior = 'smooth') {\n this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);\n }\n\n goToSlide(index: number, behavior: ScrollBehavior = 'smooth') {\n const { slidesPerPage } = this;\n\n const slides = this.getSlides();\n\n if (!slides.length) {\n return;\n }\n\n const newActiveSlide = clamp(index, 0, slides.length - slidesPerPage);\n this.activeSlide = newActiveSlide;\n\n const nextSlideIndex = clamp(\n index,\n 0,\n slides.length - 1\n );\n\n const nextSlide = slides[nextSlideIndex];\n\n this.scrollToSlide(nextSlide, prefersReducedMotion() ? 'auto' : behavior);\n }\n\n private scrollToSlide(slide: HTMLElement, behavior: ScrollBehavior = 'smooth') {\n this.pendingSlideChange = true;\n window.requestAnimationFrame(() => {\n if (!this.scrollContainer) {\n return;\n }\n\n const scrollContainer = this.scrollContainer;\n const scrollContainerRect = scrollContainer.getBoundingClientRect();\n const nextSlideRect = slide.getBoundingClientRect();\n\n const nextLeft = nextSlideRect.left - scrollContainerRect.left;\n const nextTop = nextSlideRect.top - scrollContainerRect.top;\n\n if (nextLeft || nextTop) {\n const scrollPosition = calculateScrollPosition(\n nextSlideRect,\n scrollContainerRect,\n scrollContainer.scrollLeft,\n scrollContainer.scrollTop\n );\n\n this.pendingSlideChange = true;\n scrollContainer.scrollTo({\n left: scrollPosition.left,\n top: scrollPosition.top,\n behavior\n });\n } else {\n this.pendingSlideChange = false;\n }\n });\n }\n\n private renderNavigationButton(\n direction: 'previous' | 'next',\n enabled: boolean,\n onClick: () => void\n ): TemplateResult {\n const isPrevious = direction === 'previous';\n const iconName = isPrevious ? 'arrowleft' : 'arrowright';\n const slotName = isPrevious ? 'previous-icon' : 'next-icon';\n const partName = isPrevious ? 'navigation-button--previous' : 'navigation-button--next';\n const ariaLabel = isPrevious ? 'Previous slide' : 'Next slide';\n\n return html`\n <button\n part=\"navigation-button ${partName}\"\n class=\"${classMap({\n 'carousel__navigation-button': true,\n [`carousel__navigation-button--${direction}`]: true,\n 'carousel__navigation-button--disabled': !enabled\n })}\"\n aria-label=\"${ariaLabel}\"\n aria-controls=\"scroll-container\"\n aria-disabled=\"${enabled ? 'false' : 'true'}\"\n @click=${enabled ? onClick : null}\n >\n <slot name=\"${slotName}\">\n <nile-icon\n library=\"system\"\n name=\"${iconName}\"\n ></nile-icon>\n </slot>\n </button>\n `;\n }\n\n private renderScrollContainer(): TemplateResult {\n return html`\n <div\n id=\"scroll-container\"\n part=\"scroll-container\"\n class=\"${classMap({\n carousel__slides: true,\n 'carousel__slides--horizontal': this.orientation === 'horizontal',\n 'carousel__slides--vertical': this.orientation === 'vertical'\n })}\"\n style=\"--slides-per-page: ${this.slidesPerPage};\"\n aria-busy=\"${this.scrolling ? 'true' : 'false'}\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n @keydown=${this.handleKeyDown}\n @scroll=\"${this.handleScroll}\"\n @scrollend=${this.handleScrollEnd}\n >\n <slot></slot>\n </div>\n `;\n }\n\n private renderPaginationItem(index: number, pagesCount: number, currentPage: number, slidesPerMove: number): TemplateResult {\n const isActive = index === currentPage;\n return html`\n <button\n part=\"pagination-item ${isActive ? 'pagination-item--active' : ''}\"\n class=\"${classMap({\n 'carousel__pagination-item': true,\n 'carousel__pagination-item--active': isActive\n })}\"\n role=\"tab\"\n id=\"tab-${index + 1}\"\n aria-controls=\"slide-${index + 1}\"\n aria-selected=\"${isActive ? 'true' : 'false'}\"\n aria-label=\"${isActive\n ? `Slide ${index + 1}`\n : `Go to slide ${index + 1} of ${pagesCount}`}\"\n tabindex=${isActive ? '0' : '-1'}\n @click=${() => this.goToSlide(index * slidesPerMove)}\n @keydown=${this.handleKeyDown}\n ></button>\n `;\n }\n\n private renderPagination(): TemplateResult {\n if (!this.pagination) {\n return html``;\n }\n\n const pagesCount = this.getPageCount();\n const currentPage = this.getCurrentPage();\n const slidesPerMove = this.slidesPerMove;\n\n return html`\n <div part=\"pagination\" role=\"tablist\" class=\"carousel__pagination\">\n ${map(range(pagesCount), index => this.renderPaginationItem(index, pagesCount, currentPage, slidesPerMove))}\n </div>\n `;\n }\n\n render() {\n const prevEnabled = this.canScrollPrev();\n const nextEnabled = this.canScrollNext();\n\n return html`\n <div part=\"base\" class=\"carousel\">\n <div class=\"carousel__content-wrapper\">\n ${this.navigation ? this.renderNavigationButton('previous', prevEnabled, () => this.previous()) : ''}\n ${this.renderScrollContainer()}\n ${this.navigation ? this.renderNavigationButton('next', nextEnabled, () => this.next()) : ''}\n </div>\n ${this.renderPagination()}\n </div>\n `;\n }\n}\n\nexport default NileCarousel;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-carousel': NileCarousel;\n }\n}\n\n"]}
@@ -0,0 +1,31 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileCheckbox renders correctly with default properties"] =
5
+ `<label
6
+ class="checkbox checkbox--medium"
7
+ part="base"
8
+ >
9
+ <input
10
+ aria-checked="false"
11
+ class="checkbox__input"
12
+ name=""
13
+ title=""
14
+ type="checkbox"
15
+ >
16
+ <span
17
+ class="checkbox__control"
18
+ part="control"
19
+ >
20
+ </span>
21
+ <div
22
+ class="checkbox__label"
23
+ part="label"
24
+ >
25
+ <slot>
26
+ </slot>
27
+ </div>
28
+ </label>
29
+ `;
30
+ /* end snapshot NileCheckbox renders correctly with default properties */
31
+
@@ -28,6 +28,8 @@ export declare class NileChip extends NileElement {
28
28
  tagVariant: string;
29
29
  /** Adds a clear button when the input is not empty. */
30
30
  acceptUserInput: boolean;
31
+ /** When true, adds a chip when the input loses focus or when clicking outside the component. Only works when acceptUserInput is true. */
32
+ addOnBlur: boolean;
31
33
  /** Adds a clear button when the input is not empty. */
32
34
  clearable: boolean;
33
35
  /** Placeholder text to show as a hint when the input is empty. */
@@ -66,8 +68,10 @@ export declare class NileChip extends NileElement {
66
68
  private handleSelect;
67
69
  private handleRemove;
68
70
  private handleInputChange;
71
+ private addChipFromInputValue;
69
72
  private handleInputKeydown;
70
73
  private handleFocus;
74
+ private handleBlur;
71
75
  onTagsChanged(): void;
72
76
  private resetInput;
73
77
  }