@aquera/nile-elements 1.4.2-beta-1.0 → 1.4.3-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 (504) hide show
  1. package/README.md +3 -0
  2. package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
  3. package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
  4. package/dist/fixture-5b79f853.cjs.js +395 -0
  5. package/dist/fixture-5b79f853.cjs.js.map +1 -0
  6. package/dist/fixture-73855806.cjs.js +395 -0
  7. package/dist/fixture-73855806.cjs.js.map +1 -0
  8. package/dist/fixture-90b199c4.esm.js +569 -0
  9. package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
  10. package/dist/fixture-c1d78368.cjs.js +395 -0
  11. package/dist/fixture-c1d78368.cjs.js.map +1 -0
  12. package/dist/fixture-cf7bfcf5.esm.js +569 -0
  13. package/dist/fixture-dbd66009.cjs.js +395 -0
  14. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.esm.js +1 -1
  17. package/dist/index.js +406 -172
  18. package/dist/internal/animate.cjs.js +1 -1
  19. package/dist/internal/animate.cjs.js.map +1 -1
  20. package/dist/internal/animate.esm.js +1 -1
  21. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  22. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  23. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  24. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  25. package/dist/nile-auto-complete/nile-auto-complete.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.test.cjs.js +1 -1
  37. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  38. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  39. package/dist/nile-card/nile-card.test.esm.js +1 -1
  40. package/dist/nile-carousel/carousel-helpers.cjs.js +2 -0
  41. package/dist/nile-carousel/carousel-helpers.cjs.js.map +1 -0
  42. package/dist/nile-carousel/carousel-helpers.esm.js +1 -0
  43. package/dist/nile-carousel/index.cjs.js +2 -0
  44. package/dist/nile-carousel/index.cjs.js.map +1 -0
  45. package/dist/nile-carousel/index.esm.js +1 -0
  46. package/dist/nile-carousel/nile-carousel-item/index.cjs.js +2 -0
  47. package/dist/nile-carousel/nile-carousel-item/index.cjs.js.map +1 -0
  48. package/dist/nile-carousel/nile-carousel-item/index.esm.js +1 -0
  49. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js +2 -0
  50. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js.map +1 -0
  51. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js +2 -0
  52. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js.map +1 -0
  53. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.esm.js +18 -0
  54. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.esm.js +5 -0
  55. package/dist/nile-carousel/nile-carousel.cjs.js +2 -0
  56. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -0
  57. package/dist/nile-carousel/nile-carousel.css.cjs.js +2 -0
  58. package/dist/nile-carousel/nile-carousel.css.cjs.js.map +1 -0
  59. package/dist/nile-carousel/nile-carousel.css.esm.js +146 -0
  60. package/dist/nile-carousel/nile-carousel.esm.js +58 -0
  61. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  62. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  63. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  64. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  65. package/dist/nile-chip/nile-chip.esm.js +9 -9
  66. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  67. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  68. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
  69. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
  70. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
  71. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  72. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  73. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  74. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  75. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  76. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  77. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  78. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  79. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  80. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  81. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  82. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  83. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  84. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  85. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  86. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  87. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  88. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  89. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  90. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  91. package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
  92. package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
  93. package/dist/nile-grid/nile-grid.types.esm.js +1 -0
  94. package/dist/nile-grid-body/index.cjs.js +2 -0
  95. package/dist/nile-grid-body/index.cjs.js.map +1 -0
  96. package/dist/nile-grid-body/index.esm.js +1 -0
  97. package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
  98. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
  99. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
  100. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
  101. package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
  102. package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
  103. package/dist/nile-grid-cell-item/index.cjs.js +2 -0
  104. package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
  105. package/dist/nile-grid-cell-item/index.esm.js +1 -0
  106. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
  107. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
  108. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
  109. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
  110. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
  111. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
  112. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
  113. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
  114. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
  115. package/dist/nile-grid-head/index.cjs.js +2 -0
  116. package/dist/nile-grid-head/index.cjs.js.map +1 -0
  117. package/dist/nile-grid-head/index.esm.js +1 -0
  118. package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
  119. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
  120. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
  121. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
  122. package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
  123. package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
  124. package/dist/nile-grid-head-item/index.cjs.js +2 -0
  125. package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
  126. package/dist/nile-grid-head-item/index.esm.js +1 -0
  127. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
  128. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
  129. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
  130. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
  131. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
  132. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
  133. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
  134. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
  135. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
  136. package/dist/nile-grid-row/index.cjs.js +2 -0
  137. package/dist/nile-grid-row/index.cjs.js.map +1 -0
  138. package/dist/nile-grid-row/index.esm.js +1 -0
  139. package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
  140. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
  141. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
  142. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
  143. package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
  144. package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
  145. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  146. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  147. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  148. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  149. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  150. package/dist/nile-input/nile-input.test.esm.js +1 -1
  151. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  152. package/dist/nile-link/nile-link.test.esm.js +1 -1
  153. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  154. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  155. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  156. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  157. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  158. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  159. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  160. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  161. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  162. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  163. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  164. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  165. package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
  166. package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
  167. package/dist/nile-rich-text-editor/utils.esm.js +1 -0
  168. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  169. package/dist/nile-select/nile-select.test.esm.js +1 -1
  170. package/dist/nile-sidebar/index.cjs.js +2 -0
  171. package/dist/nile-sidebar/index.cjs.js.map +1 -0
  172. package/dist/nile-sidebar/index.esm.js +75 -0
  173. package/dist/nile-sidebar-menu/index.cjs.js +2 -0
  174. package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
  175. package/dist/nile-sidebar-menu/index.esm.js +1 -0
  176. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
  177. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
  178. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
  179. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
  180. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
  181. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
  182. package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
  183. package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
  184. package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
  185. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
  186. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
  187. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
  188. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
  189. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
  190. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
  191. package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
  192. package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
  193. package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
  194. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
  195. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
  196. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
  197. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
  198. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
  199. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
  200. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js +1 -1
  201. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js.map +1 -1
  202. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.esm.js +2 -2
  203. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  204. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  205. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  206. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  207. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  208. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  209. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  210. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  211. package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
  212. package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
  213. package/dist/nile-virtual-select/group-manager.esm.js +1 -0
  214. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  215. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  216. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  217. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  218. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  219. package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
  220. package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
  221. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  222. package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
  223. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
  224. package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
  225. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
  226. package/dist/src/index.d.ts +2 -0
  227. package/dist/src/index.js +2 -0
  228. package/dist/src/index.js.map +1 -1
  229. package/dist/src/internal/portal-manager.d.ts +53 -0
  230. package/dist/src/internal/portal-manager.js +196 -0
  231. package/dist/src/internal/portal-manager.js.map +1 -0
  232. package/dist/src/internal/portal.d.ts +60 -0
  233. package/dist/src/internal/portal.js +199 -0
  234. package/dist/src/internal/portal.js.map +1 -0
  235. package/dist/src/internal/resizable-helper.d.ts +59 -0
  236. package/dist/src/internal/resizable-helper.js +115 -0
  237. package/dist/src/internal/resizable-helper.js.map +1 -0
  238. package/dist/src/internal/resizable-styles.d.ts +16 -0
  239. package/dist/src/internal/resizable-styles.js +144 -0
  240. package/dist/src/internal/resizable-styles.js.map +1 -0
  241. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  242. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  243. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  244. package/dist/src/lib/index.d.ts +7 -0
  245. package/dist/src/lib/index.js +8 -0
  246. package/dist/src/lib/index.js.map +1 -0
  247. package/dist/src/lib/virtualize.d.ts +32 -0
  248. package/dist/src/lib/virtualize.js +105 -0
  249. package/dist/src/lib/virtualize.js.map +1 -0
  250. package/dist/src/lib/virtualize.test.d.ts +7 -0
  251. package/dist/src/lib/virtualize.test.js +57 -0
  252. package/dist/src/lib/virtualize.test.js.map +1 -0
  253. package/dist/src/nile-auto-complete/nile-auto-complete.js +4 -1
  254. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  255. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  256. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  257. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  258. package/dist/src/nile-carousel/carousel-helpers.d.ts +23 -0
  259. package/dist/src/nile-carousel/carousel-helpers.js +88 -0
  260. package/dist/src/nile-carousel/carousel-helpers.js.map +1 -0
  261. package/dist/src/nile-carousel/index.d.ts +1 -0
  262. package/dist/src/nile-carousel/index.js +2 -0
  263. package/dist/src/nile-carousel/index.js.map +1 -0
  264. package/dist/src/nile-carousel/nile-carousel-item/index.d.ts +1 -0
  265. package/dist/src/nile-carousel/nile-carousel-item/index.js +2 -0
  266. package/dist/src/nile-carousel/nile-carousel-item/index.js.map +1 -0
  267. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.d.ts +12 -0
  268. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js +30 -0
  269. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js.map +1 -0
  270. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.d.ts +24 -0
  271. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js +35 -0
  272. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js.map +1 -0
  273. package/dist/src/nile-carousel/nile-carousel.css.d.ts +12 -0
  274. package/dist/src/nile-carousel/nile-carousel.css.js +158 -0
  275. package/dist/src/nile-carousel/nile-carousel.css.js.map +1 -0
  276. package/dist/src/nile-carousel/nile-carousel.d.ts +54 -0
  277. package/dist/src/nile-carousel/nile-carousel.js +319 -0
  278. package/dist/src/nile-carousel/nile-carousel.js.map +1 -0
  279. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  280. package/dist/src/nile-chip/nile-chip.js +4 -1
  281. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  282. package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
  283. package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
  284. package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
  285. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  286. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
  287. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
  288. package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
  289. package/dist/src/nile-code-editor/theme copy.js +193 -0
  290. package/dist/src/nile-code-editor/theme copy.js.map +1 -0
  291. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  292. package/dist/src/nile-grid/data-processor.js +122 -0
  293. package/dist/src/nile-grid/data-processor.js.map +1 -0
  294. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  295. package/dist/src/nile-grid/event-handlers.js +158 -0
  296. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  297. package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
  298. package/dist/src/nile-grid/nile-grid.types.js +2 -0
  299. package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
  300. package/dist/src/nile-grid/renderer.d.ts +8 -0
  301. package/dist/src/nile-grid/renderer.js +78 -0
  302. package/dist/src/nile-grid/renderer.js.map +1 -0
  303. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  304. package/dist/src/nile-grid/resize-handler.js +36 -0
  305. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  306. package/dist/src/nile-grid/types.d.ts +32 -0
  307. package/dist/src/nile-grid/types.js +2 -0
  308. package/dist/src/nile-grid/types.js.map +1 -0
  309. package/dist/src/nile-grid/utils.d.ts +4 -0
  310. package/dist/src/nile-grid/utils.js +32 -0
  311. package/dist/src/nile-grid/utils.js.map +1 -0
  312. package/dist/src/nile-grid-body/index.d.ts +1 -0
  313. package/dist/src/nile-grid-body/index.js +2 -0
  314. package/dist/src/nile-grid-body/index.js.map +1 -0
  315. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
  316. package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
  317. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
  318. package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
  319. package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
  320. package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
  321. package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
  322. package/dist/src/nile-grid-cell-item/index.js +2 -0
  323. package/dist/src/nile-grid-cell-item/index.js.map +1 -0
  324. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
  325. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
  326. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
  327. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
  328. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
  329. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
  330. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
  331. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
  332. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
  333. package/dist/src/nile-grid-head/index.d.ts +1 -0
  334. package/dist/src/nile-grid-head/index.js +2 -0
  335. package/dist/src/nile-grid-head/index.js.map +1 -0
  336. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
  337. package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
  338. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
  339. package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
  340. package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
  341. package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
  342. package/dist/src/nile-grid-head-item/index.d.ts +1 -0
  343. package/dist/src/nile-grid-head-item/index.js +2 -0
  344. package/dist/src/nile-grid-head-item/index.js.map +1 -0
  345. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
  346. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
  347. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
  348. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
  349. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
  350. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
  351. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
  352. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
  353. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
  354. package/dist/src/nile-grid-row/index.d.ts +1 -0
  355. package/dist/src/nile-grid-row/index.js +2 -0
  356. package/dist/src/nile-grid-row/index.js.map +1 -0
  357. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
  358. package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
  359. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
  360. package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
  361. package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
  362. package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
  363. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  364. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  365. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  366. package/dist/src/nile-menu/portal-manager.d.ts +39 -0
  367. package/dist/src/nile-menu/portal-manager.js +340 -0
  368. package/dist/src/nile-menu/portal-manager.js.map +1 -0
  369. package/dist/src/nile-menu/portal-utils.d.ts +21 -0
  370. package/dist/src/nile-menu/portal-utils.js +128 -0
  371. package/dist/src/nile-menu/portal-utils.js.map +1 -0
  372. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  373. package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
  374. package/dist/src/nile-popover/popover-portal-handler.js +106 -0
  375. package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
  376. package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
  377. package/dist/src/nile-portal-wrapper/index.js +2 -0
  378. package/dist/src/nile-portal-wrapper/index.js.map +1 -0
  379. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
  380. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
  381. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
  382. package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
  383. package/dist/src/nile-rich-text-editor/utils.js +538 -0
  384. package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
  385. package/dist/src/nile-select/body-append-manager.d.ts +90 -0
  386. package/dist/src/nile-select/body-append-manager.js +298 -0
  387. package/dist/src/nile-select/body-append-manager.js.map +1 -0
  388. package/dist/src/nile-sidebar/index.d.ts +28 -0
  389. package/dist/src/nile-sidebar/index.js +116 -0
  390. package/dist/src/nile-sidebar/index.js.map +1 -0
  391. package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
  392. package/dist/src/nile-sidebar-menu/index.js +2 -0
  393. package/dist/src/nile-sidebar-menu/index.js.map +1 -0
  394. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
  395. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
  396. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
  397. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
  398. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
  399. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
  400. package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
  401. package/dist/src/nile-sidebar-menu-items/index.js +2 -0
  402. package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
  403. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
  404. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
  405. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
  406. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
  407. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
  408. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
  409. package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
  410. package/dist/src/nile-sidebar-wrapper/index.js +2 -0
  411. package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
  412. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
  413. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
  414. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
  415. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
  416. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
  417. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
  418. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js +2 -2
  419. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js.map +1 -1
  420. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  421. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  422. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  423. package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
  424. package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
  425. package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
  426. package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
  427. package/dist/src/nile-virtual-select/group-manager.js +134 -0
  428. package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
  429. package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
  430. package/dist/src/nile-virtual-select/portal-utils.js +376 -0
  431. package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
  432. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  433. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  434. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  435. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  436. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  437. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  438. package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
  439. package/dist/src/nile-virtual-select-disabled/index.js +2 -0
  440. package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
  441. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
  442. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
  443. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
  444. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
  445. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
  446. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
  447. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
  448. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
  449. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
  450. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
  451. package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
  452. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
  453. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
  454. package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
  455. package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
  456. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
  457. package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
  458. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
  459. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
  460. package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
  461. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
  462. package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
  463. package/dist/src/nile-virtual-select-disabled/types.js +8 -0
  464. package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
  465. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  466. package/dist/src/nile-virtual-table-body/index.js +3 -0
  467. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  468. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  469. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  470. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  471. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  472. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  473. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  474. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  475. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  476. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  477. package/dist/src/utilities/stepper-utils.d.ts +71 -0
  478. package/dist/src/utilities/stepper-utils.js +108 -0
  479. package/dist/src/utilities/stepper-utils.js.map +1 -0
  480. package/dist/src/version.js +1 -1
  481. package/dist/src/version.js.map +1 -1
  482. package/dist/tsconfig.tsbuildinfo +1 -1
  483. package/package.json +1 -1
  484. package/src/index.ts +2 -0
  485. package/src/nile-auto-complete/nile-auto-complete.ts +4 -1
  486. package/src/nile-carousel/carousel-helpers.ts +137 -0
  487. package/src/nile-carousel/index.ts +2 -0
  488. package/src/nile-carousel/nile-carousel-item/index.ts +2 -0
  489. package/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.ts +33 -0
  490. package/src/nile-carousel/nile-carousel-item/nile-carousel-item.ts +42 -0
  491. package/src/nile-carousel/nile-carousel.css.ts +161 -0
  492. package/src/nile-carousel/nile-carousel.ts +377 -0
  493. package/src/nile-chip/nile-chip.ts +4 -1
  494. package/src/nile-skeleton-loader/nile-skeleton-loader.css.ts +2 -2
  495. package/vscode-html-custom-data.json +29 -0
  496. package/dist/src/nile-css-tooltip/index.d.ts +0 -1
  497. package/dist/src/nile-css-tooltip/index.js +0 -2
  498. package/dist/src/nile-css-tooltip/index.js.map +0 -1
  499. package/dist/src/nile-css-tooltip/nile-css-tooltip.css.d.ts +0 -9
  500. package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js +0 -459
  501. package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js.map +0 -1
  502. package/dist/src/nile-css-tooltip/nile-css-tooltip.d.ts +0 -113
  503. package/dist/src/nile-css-tooltip/nile-css-tooltip.js +0 -213
  504. package/dist/src/nile-css-tooltip/nile-css-tooltip.js.map +0 -1
@@ -0,0 +1,158 @@
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
+ flex-direction: row;
34
+ overflow-x: auto;
35
+ overflow-y: hidden;
36
+ scroll-snap-type: x mandatory;
37
+ scroll-behavior: smooth;
38
+ gap: var(--slide-gap);
39
+ padding: 0;
40
+ scrollbar-width: none;
41
+ -ms-overflow-style: none;
42
+ flex: 1;
43
+ min-width: 0;
44
+ }
45
+
46
+ .carousel__slides::-webkit-scrollbar {
47
+ display: none;
48
+ }
49
+
50
+ .carousel__slides:focus {
51
+ outline: none;
52
+ }
53
+
54
+ .carousel__slides:focus-visible {
55
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
56
+ outline-offset: 2px;
57
+ }
58
+
59
+ ::slotted(nile-carousel-item) {
60
+ flex: 0 0 calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));
61
+ min-width: 0;
62
+ }
63
+
64
+ .carousel__navigation-button {
65
+ display: inline-flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ width: 2.5rem;
69
+ height: 2.5rem;
70
+ padding: 0;
71
+ background: rgba(255, 255, 255, 0.9);
72
+ border: 1px solid var(--nile-colors-dark-200, var(--ng-colors-border-secondary));
73
+ border-radius: 50%;
74
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
75
+ cursor: pointer;
76
+ flex-shrink: 0;
77
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
78
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
79
+ }
80
+
81
+ .carousel__navigation-button:hover:not(.carousel__navigation-button--disabled) {
82
+ background: rgba(255, 255, 255, 1);
83
+ border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));
84
+ transform: scale(1.1);
85
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
86
+ }
87
+
88
+ .carousel__navigation-button:active:not(.carousel__navigation-button--disabled) {
89
+ background: rgba(255, 255, 255, 1);
90
+ transform: scale(0.95);
91
+ }
92
+
93
+ .carousel__navigation-button--disabled {
94
+ opacity: 0.4;
95
+ cursor: not-allowed;
96
+ pointer-events: none;
97
+ }
98
+
99
+ .carousel__navigation-button:focus {
100
+ outline: none;
101
+ }
102
+
103
+ .carousel__navigation-button:focus-visible {
104
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
105
+ outline-offset: 2px;
106
+ }
107
+
108
+ .carousel__pagination {
109
+ display: flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
113
+ margin-top: var(--nile-spacing-md, var(--ng-spacing-md));
114
+ position: relative;
115
+ z-index: 2;
116
+ }
117
+
118
+ .carousel__pagination-item {
119
+ width: 0.75rem;
120
+ height: 0.75rem;
121
+ padding: 0;
122
+ background: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
123
+ border: 2px solid var(--nile-colors-white-base, var(--ng-colors-bg-primary));
124
+ border-radius: 50%;
125
+ cursor: pointer;
126
+ transition: background-color 0.1s ease, transform 0.1s ease, border-color 0.1s ease, width 0.1s ease, height 0.1s ease;
127
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
128
+ }
129
+
130
+ .carousel__pagination-item:hover {
131
+ background: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));
132
+ transform: scale(1.15);
133
+ border-color: var(--nile-colors-dark-200, var(--ng-colors-border-secondary));
134
+ }
135
+
136
+ .carousel__pagination-item--active {
137
+ width: 0.875rem;
138
+ height: 0.875rem;
139
+ background: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
140
+ border-color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
141
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
142
+ }
143
+
144
+ .carousel__pagination-item:focus {
145
+ outline: none;
146
+ }
147
+
148
+ .carousel__pagination-item:focus-visible {
149
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
150
+ outline-offset: 2px;
151
+ }
152
+
153
+ :host([hidden]) {
154
+ display: none;
155
+ }
156
+ `;
157
+ export default [styles];
158
+ //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJxB,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 flex-direction: row;\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: 0;\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: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 .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.1s ease, transform 0.1s ease, border-color 0.1s ease, width 0.1s ease, height 0.1s 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,54 @@
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
+ scrollContainer: HTMLElement;
19
+ paginationContainer: HTMLElement;
20
+ activeSlide: number;
21
+ scrolling: boolean;
22
+ private mutationObserver;
23
+ private pendingSlideChange;
24
+ connectedCallback(): void;
25
+ disconnectedCallback(): void;
26
+ protected firstUpdated(): void;
27
+ protected willUpdate(changedProperties: PropertyValueMap<NileCarousel> | Map<PropertyKey, unknown>): void;
28
+ private getPageCount;
29
+ private getCurrentPage;
30
+ private canScrollNext;
31
+ private canScrollPrev;
32
+ private getSlides;
33
+ private handleKeyDown;
34
+ private handleScroll;
35
+ private handleScrollEnd;
36
+ private handleSlotChange;
37
+ private initializeSlides;
38
+ handleSlideChange(): void;
39
+ updateSlidesSnap(): void;
40
+ previous(behavior?: ScrollBehavior): void;
41
+ next(behavior?: ScrollBehavior): void;
42
+ goToSlide(index: number, behavior?: ScrollBehavior): void;
43
+ private renderNavigationButton;
44
+ private renderScrollContainer;
45
+ private renderPaginationItem;
46
+ private renderPagination;
47
+ render(): TemplateResult<1>;
48
+ }
49
+ export default NileCarousel;
50
+ declare global {
51
+ interface HTMLElementTagNameMap {
52
+ 'nile-carousel': NileCarousel;
53
+ }
54
+ }
@@ -0,0 +1,319 @@
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 { prefersReducedMotion } from '../internal/animate';
16
+ import { watch } from '../internal/watch';
17
+ import { styles } from './nile-carousel.css';
18
+ import NileElement from '../internal/nile-element';
19
+ import { isCarouselItem, findMostVisibleSlide, getPageCount, getCurrentPage, canScrollNext, canScrollPrev, shouldSnapToSlide, scrollToSlide as scrollToSlideHelper, goToSlide as goToSlideHelper } from './carousel-helpers';
20
+ let NileCarousel = class NileCarousel extends NileElement {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.navigation = false;
24
+ this.pagination = false;
25
+ this.slidesPerPage = 1;
26
+ this.slidesPerMove = 1;
27
+ this.activeSlide = 0;
28
+ this.scrolling = false;
29
+ this.pendingSlideChange = false;
30
+ this.handleScroll = () => {
31
+ if (!this.scrollContainer) {
32
+ return;
33
+ }
34
+ this.scrolling = true;
35
+ if (this.pendingSlideChange) {
36
+ return;
37
+ }
38
+ const slides = this.getSlides();
39
+ const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);
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
+ if (this.scrollContainer) {
51
+ const slides = this.getSlides();
52
+ const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);
53
+ if (mostVisibleSlide) {
54
+ const newActiveIndex = slides.indexOf(mostVisibleSlide);
55
+ if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {
56
+ this.activeSlide = newActiveIndex;
57
+ }
58
+ }
59
+ }
60
+ };
61
+ this.handleSlotChange = () => {
62
+ this.initializeSlides();
63
+ };
64
+ }
65
+ connectedCallback() {
66
+ super.connectedCallback();
67
+ this.setAttribute('role', 'region');
68
+ this.setAttribute('aria-label', 'carousel');
69
+ }
70
+ disconnectedCallback() {
71
+ super.disconnectedCallback();
72
+ this.mutationObserver?.disconnect();
73
+ }
74
+ firstUpdated() {
75
+ this.initializeSlides();
76
+ this.mutationObserver = new MutationObserver(this.handleSlotChange);
77
+ this.mutationObserver.observe(this, {
78
+ childList: true,
79
+ subtree: true
80
+ });
81
+ }
82
+ willUpdate(changedProperties) {
83
+ if (changedProperties.has('slidesPerMove') || changedProperties.has('slidesPerPage')) {
84
+ this.slidesPerMove = Math.min(this.slidesPerMove, this.slidesPerPage);
85
+ }
86
+ }
87
+ getPageCount() {
88
+ const slidesCount = this.getSlides().length;
89
+ return getPageCount(slidesCount, this.slidesPerPage, this.slidesPerMove);
90
+ }
91
+ getCurrentPage() {
92
+ return getCurrentPage(this.activeSlide, this.slidesPerMove);
93
+ }
94
+ canScrollNext() {
95
+ return canScrollNext(this.getCurrentPage(), this.getPageCount());
96
+ }
97
+ canScrollPrev() {
98
+ return canScrollPrev(this.getCurrentPage());
99
+ }
100
+ getSlides() {
101
+ return [...this.children].filter((el) => isCarouselItem(el));
102
+ }
103
+ handleKeyDown(event) {
104
+ if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
105
+ const target = event.target;
106
+ const isFocusInPagination = target.closest('.carousel__pagination-item') !== null;
107
+ const isNext = event.key === 'ArrowDown' || event.key === 'ArrowRight';
108
+ const isPrevious = event.key === 'ArrowUp' || event.key === 'ArrowLeft';
109
+ event.preventDefault();
110
+ if (isPrevious) {
111
+ this.previous();
112
+ }
113
+ if (isNext) {
114
+ this.next();
115
+ }
116
+ if (event.key === 'Home') {
117
+ this.goToSlide(0);
118
+ }
119
+ if (event.key === 'End') {
120
+ this.goToSlide(this.getSlides().length - 1);
121
+ }
122
+ if (isFocusInPagination) {
123
+ this.updateComplete.then(() => {
124
+ const activePaginationItem = this.shadowRoot?.querySelector('.carousel__pagination-item--active');
125
+ if (activePaginationItem) {
126
+ activePaginationItem.focus();
127
+ }
128
+ });
129
+ }
130
+ }
131
+ }
132
+ initializeSlides() {
133
+ const slides = this.getSlides();
134
+ if (!slides.length) {
135
+ return;
136
+ }
137
+ slides.forEach((slide, i) => {
138
+ slide.classList.toggle('--is-active', i === this.activeSlide);
139
+ });
140
+ this.updateSlidesSnap();
141
+ }
142
+ handleSlideChange() {
143
+ const slides = this.getSlides();
144
+ slides.forEach((slide, i) => {
145
+ slide.classList.toggle('--is-active', i === this.activeSlide);
146
+ });
147
+ if (this.hasUpdated) {
148
+ this.emit('nile-slide-change', {
149
+ detail: {
150
+ index: this.activeSlide,
151
+ slide: slides[this.activeSlide]
152
+ }
153
+ });
154
+ }
155
+ }
156
+ updateSlidesSnap() {
157
+ const slides = this.getSlides();
158
+ const slidesPerMove = this.slidesPerMove;
159
+ slides.forEach((slide, i) => {
160
+ if (shouldSnapToSlide(i, slidesPerMove)) {
161
+ slide.style.removeProperty('scroll-snap-align');
162
+ }
163
+ else {
164
+ slide.style.setProperty('scroll-snap-align', 'none');
165
+ }
166
+ });
167
+ }
168
+ previous(behavior = 'smooth') {
169
+ this.goToSlide(this.activeSlide - this.slidesPerMove, behavior);
170
+ }
171
+ next(behavior = 'smooth') {
172
+ this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);
173
+ }
174
+ goToSlide(index, behavior = 'smooth') {
175
+ const { slidesPerPage } = this;
176
+ const slides = this.getSlides();
177
+ const result = goToSlideHelper(index, slides, slidesPerPage, behavior);
178
+ if (!result || !this.scrollContainer) {
179
+ return;
180
+ }
181
+ this.activeSlide = result.newActiveSlide;
182
+ const scrollBehavior = prefersReducedMotion() ? 'auto' : behavior;
183
+ scrollToSlideHelper(result.slideToScroll, this.scrollContainer, scrollBehavior, (value) => {
184
+ this.pendingSlideChange = value;
185
+ });
186
+ }
187
+ renderNavigationButton(direction, enabled, onClick) {
188
+ const isPrevious = direction === 'previous';
189
+ const iconName = isPrevious ? 'arrowleft' : 'arrowright';
190
+ const slotName = isPrevious ? 'previous-icon' : 'next-icon';
191
+ const partName = isPrevious ? 'navigation-button--previous' : 'navigation-button--next';
192
+ const ariaLabel = isPrevious ? 'Previous slide' : 'Next slide';
193
+ return html `
194
+ <button
195
+ part="navigation-button ${partName}"
196
+ class="${classMap({
197
+ 'carousel__navigation-button': true,
198
+ [`carousel__navigation-button--${direction}`]: true,
199
+ 'carousel__navigation-button--disabled': !enabled
200
+ })}"
201
+ aria-label="${ariaLabel}"
202
+ aria-controls="scroll-container"
203
+ aria-disabled="${enabled ? 'false' : 'true'}"
204
+ @click=${enabled ? onClick : null}
205
+ >
206
+ <slot name="${slotName}">
207
+ <nile-icon
208
+ library="system"
209
+ name="${iconName}"
210
+ ></nile-icon>
211
+ </slot>
212
+ </button>
213
+ `;
214
+ }
215
+ renderScrollContainer() {
216
+ return html `
217
+ <div
218
+ id="scroll-container"
219
+ part="scroll-container"
220
+ class="carousel__slides"
221
+ style="--slides-per-page: ${this.slidesPerPage};"
222
+ aria-busy="${this.scrolling ? 'true' : 'false'}"
223
+ aria-atomic="true"
224
+ tabindex="0"
225
+ @keydown=${this.handleKeyDown}
226
+ @scroll="${this.handleScroll}"
227
+ @scrollend=${this.handleScrollEnd}
228
+ >
229
+ <slot></slot>
230
+ </div>
231
+ `;
232
+ }
233
+ renderPaginationItem(index, pagesCount, currentPage, slidesPerMove) {
234
+ const isActive = index === currentPage;
235
+ return html `
236
+ <button
237
+ part="pagination-item ${isActive ? 'pagination-item--active' : ''}"
238
+ class="${classMap({
239
+ 'carousel__pagination-item': true,
240
+ 'carousel__pagination-item--active': isActive
241
+ })}"
242
+ role="tab"
243
+ id="tab-${index + 1}"
244
+ aria-controls="slide-${index + 1}"
245
+ aria-selected="${isActive ? 'true' : 'false'}"
246
+ aria-label="${isActive
247
+ ? `Slide ${index + 1}`
248
+ : `Go to slide ${index + 1} of ${pagesCount}`}"
249
+ tabindex=${isActive ? '0' : '-1'}
250
+ @click=${() => this.goToSlide(index * slidesPerMove)}
251
+ @keydown=${this.handleKeyDown}
252
+ ></button>
253
+ `;
254
+ }
255
+ renderPagination() {
256
+ if (!this.pagination) {
257
+ return html ``;
258
+ }
259
+ const pagesCount = this.getPageCount();
260
+ const currentPage = this.getCurrentPage();
261
+ const slidesPerMove = this.slidesPerMove;
262
+ return html `
263
+ <div part="pagination" role="tablist" class="carousel__pagination">
264
+ ${map(range(pagesCount), index => this.renderPaginationItem(index, pagesCount, currentPage, slidesPerMove))}
265
+ </div>
266
+ `;
267
+ }
268
+ render() {
269
+ const prevEnabled = this.canScrollPrev();
270
+ const nextEnabled = this.canScrollNext();
271
+ return html `
272
+ <div part="base" class="carousel">
273
+ <div class="carousel__content-wrapper">
274
+ ${this.navigation ? this.renderNavigationButton('previous', prevEnabled, () => this.previous()) : ''}
275
+ ${this.renderScrollContainer()}
276
+ ${this.navigation ? this.renderNavigationButton('next', nextEnabled, () => this.next()) : ''}
277
+ </div>
278
+ ${this.renderPagination()}
279
+ </div>
280
+ `;
281
+ }
282
+ };
283
+ NileCarousel.styles = [styles];
284
+ __decorate([
285
+ property({ type: Boolean, reflect: true })
286
+ ], NileCarousel.prototype, "navigation", void 0);
287
+ __decorate([
288
+ property({ type: Boolean, reflect: true })
289
+ ], NileCarousel.prototype, "pagination", void 0);
290
+ __decorate([
291
+ property({ type: Number, attribute: 'slides-per-page' })
292
+ ], NileCarousel.prototype, "slidesPerPage", void 0);
293
+ __decorate([
294
+ property({ type: Number, attribute: 'slides-per-move' })
295
+ ], NileCarousel.prototype, "slidesPerMove", void 0);
296
+ __decorate([
297
+ query('.carousel__slides')
298
+ ], NileCarousel.prototype, "scrollContainer", void 0);
299
+ __decorate([
300
+ query('.carousel__pagination')
301
+ ], NileCarousel.prototype, "paginationContainer", void 0);
302
+ __decorate([
303
+ state()
304
+ ], NileCarousel.prototype, "activeSlide", void 0);
305
+ __decorate([
306
+ state()
307
+ ], NileCarousel.prototype, "scrolling", void 0);
308
+ __decorate([
309
+ watch('activeSlide')
310
+ ], NileCarousel.prototype, "handleSlideChange", null);
311
+ __decorate([
312
+ watch('slidesPerMove')
313
+ ], NileCarousel.prototype, "updateSlidesSnap", null);
314
+ NileCarousel = __decorate([
315
+ customElement('nile-carousel')
316
+ ], NileCarousel);
317
+ export { NileCarousel };
318
+ export default NileCarousel;
319
+ //# 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":"AAAA;;;;;GAKG;;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,IAAI,EAAkC,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,IAAI,mBAAmB,EACpC,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAGrB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,WAAW;IAAtC;;QAGuC,eAAU,GAAG,KAAK,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QAEL,kBAAa,GAAG,CAAC,CAAC;QAElB,kBAAa,GAAG,CAAC,CAAC;QAKnE,gBAAW,GAAG,CAAC,CAAC;QAEhB,cAAS,GAAG,KAAK,CAAC;QAGnB,uBAAkB,GAAG,KAAK,CAAC;QA4F3B,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAE5E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACxD,IAAI,cAAc,KAAK,CAAC,CAAC,IAAI,cAAc,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAEhC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAE5E,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oBACxD,IAAI,cAAc,KAAK,CAAC,CAAC,IAAI,cAAc,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC;IAsLJ,CAAC;IAzTC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE;YAClC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAES,UAAU,CAAC,iBAA6E;QAChG,IAAI,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;QAC5C,OAAO,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3E,CAAC;IAEO,cAAc;QACpB,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAEO,aAAa;QACnB,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,aAAa;QACnB,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEO,SAAS;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC9B,CAAC,EAAe,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAClB,CAAC;IAC1B,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;YAClF,MAAM,MAAM,GACV,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC;YAC1D,MAAM,UAAU,GACd,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC;YAEvD,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC5B,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CACzD,oCAAoC,CACrC,CAAC;oBAEF,IAAI,oBAAoB,EAAE,CAAC;wBACzB,oBAAoB,CAAC,KAAK,EAAE,CAAC;oBAC/B,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IA6CO,gBAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAGD,iBAAiB;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,MAAM,EAAE;oBACN,KAAK,EAAE,IAAI,CAAC,WAAW;oBACvB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;iBAChC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGD,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,WAA2B,QAAQ;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,WAA2B,QAAQ;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,WAA2B,QAAQ;QAC1D,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC;QACzC,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClE,mBAAmB,CACjB,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,eAAe,EACpB,cAAc,EACd,CAAC,KAAc,EAAE,EAAE;YACjB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,SAA8B,EAC9B,OAAgB,EAChB,OAAmB;QAEnB,MAAM,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,yBAAyB,CAAC;QACxF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC;QAE/D,OAAO,IAAI,CAAA;;kCAEmB,QAAQ;iBACzB,QAAQ,CAAC;YAChB,6BAA6B,EAAE,IAAI;YACnC,CAAC,gCAAgC,SAAS,EAAE,CAAC,EAAE,IAAI;YACnD,uCAAuC,EAAE,CAAC,OAAO;SAClD,CAAC;sBACY,SAAS;;yBAEN,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;iBAClC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;;sBAEnB,QAAQ;;;oBAGV,QAAQ;;;;KAIvB,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,OAAO,IAAI,CAAA;;;;;oCAKqB,IAAI,CAAC,aAAa;qBACjC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;mBAGnC,IAAI,CAAC,aAAa;mBAClB,IAAI,CAAC,YAAY;qBACf,IAAI,CAAC,eAAe;;;;KAIpC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,KAAa,EAAE,UAAkB,EAAE,WAAmB,EAAE,aAAqB;QACxG,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAC;QACvC,OAAO,IAAI,CAAA;;gCAEiB,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE;iBACxD,QAAQ,CAAC;YAChB,2BAA2B,EAAE,IAAI;YACjC,mCAAmC,EAAE,QAAQ;SAC9C,CAAC;;kBAEQ,KAAK,GAAG,CAAC;+BACI,KAAK,GAAG,CAAC;yBACf,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;sBAC9B,QAAQ;YACpB,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE;YACtB,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC,OAAO,UAAU,EAAE;mBACpC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;iBACvB,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC;mBACzC,IAAI,CAAC,aAAa;;KAEhC,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,OAAO,IAAI,CAAA;;UAEL,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;;KAE9G,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEzC,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAClG,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;;UAE5F,IAAI,CAAC,gBAAgB,EAAE;;KAE5B,CAAC;IACJ,CAAC;;AA5UM,mBAAM,GAAmB,CAAC,MAAM,CAAC,AAA3B,CAA4B;AAEG;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAoB;AAEnB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAoB;AAEL;IAAzD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;mDAAmB;AAElB;IAAzD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;mDAAmB;AAEhD;IAA3B,KAAK,CAAC,mBAAmB,CAAC;qDAA8B;AACzB;IAA/B,KAAK,CAAC,uBAAuB,CAAC;yDAAkC;AAExD;IAAR,KAAK,EAAE;iDAAiB;AAEhB;IAAR,KAAK,EAAE;+CAAmB;AAwJ3B;IADC,KAAK,CAAC,aAAa,CAAC;qDAepB;AAGD;IADC,KAAK,CAAC,eAAe,CAAC;oDAYtB;AApMU,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CA8UxB;;AAED,eAAe,YAAY,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 '../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 { 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 scrollToSlide as scrollToSlideHelper,\n goToSlide as goToSlideHelper\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 @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('.carousel__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 '.carousel__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\n if (this.pendingSlideChange) {\n return;\n }\n\n const slides = this.getSlides();\n const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);\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 if (this.scrollContainer) {\n const slides = this.getSlides();\n const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);\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\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 const slides = this.getSlides();\n\n const result = goToSlideHelper(index, slides, slidesPerPage, behavior);\n if (!result || !this.scrollContainer) {\n return;\n }\n\n this.activeSlide = result.newActiveSlide;\n const scrollBehavior = prefersReducedMotion() ? 'auto' : behavior;\n scrollToSlideHelper(\n result.slideToScroll,\n this.scrollContainer,\n scrollBehavior,\n (value: boolean) => {\n this.pendingSlideChange = value;\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=\"carousel__slides\"\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
+
@@ -198,7 +198,10 @@ let NileChip = class NileChip extends NileElement {
198
198
  ${this.tags.map((tag, index) => {
199
199
  const tooltipContent = this.tooltips[index];
200
200
  const isFocused = this.enableTagDelete && this.chipFocusIndex === index;
201
- const tagText = tag ? tag.toString() : "";
201
+ let tagText = "";
202
+ if (tag || typeof tag === "number") {
203
+ tagText = tag.toString();
204
+ }
202
205
  const tagTemplate = html `
203
206
  <nile-tag
204
207
  class=${classMap({