@aquera/nile-elements 1.4.1-beta-1.3 → 1.4.2-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 (467) hide show
  1. package/README.md +5 -2
  2. package/demo/variables.css +1 -0
  3. package/dist/{fixture-54600b35.cjs.js → fixture-1c49c014.cjs.js} +2 -2
  4. package/dist/{fixture-73855806.cjs.js.map → fixture-1c49c014.cjs.js.map} +1 -1
  5. package/dist/{fixture-9871e8a9.esm.js → fixture-985bba12.esm.js} +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  8. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  10. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  11. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  12. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  13. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  14. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  15. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  16. package/dist/nile-button/nile-button.test.esm.js +1 -1
  17. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  18. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  19. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  20. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  21. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  22. package/dist/nile-card/nile-card.test.esm.js +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  24. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  25. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  26. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  27. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  28. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  29. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  30. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  31. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  32. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  33. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  34. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  35. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  36. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  37. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  38. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  39. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  40. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  41. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  42. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  43. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  44. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  45. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  46. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  47. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  48. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  49. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  50. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  51. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  52. package/dist/nile-input/nile-input.test.esm.js +1 -1
  53. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  54. package/dist/nile-link/nile-link.test.esm.js +1 -1
  55. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  56. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  57. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  58. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  59. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  60. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  61. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  62. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  63. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  64. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  65. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  66. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  67. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  68. package/dist/nile-select/nile-select.test.esm.js +1 -1
  69. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  70. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  71. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  72. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  73. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  74. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  75. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  76. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  77. package/dist/src/nile-css-tooltip/index.d.ts +1 -0
  78. package/dist/src/nile-css-tooltip/index.js +2 -0
  79. package/dist/src/nile-css-tooltip/index.js.map +1 -0
  80. package/dist/src/nile-css-tooltip/nile-css-tooltip.css.d.ts +9 -0
  81. package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js +459 -0
  82. package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js.map +1 -0
  83. package/dist/src/nile-css-tooltip/nile-css-tooltip.d.ts +113 -0
  84. package/dist/src/nile-css-tooltip/nile-css-tooltip.js +213 -0
  85. package/dist/src/nile-css-tooltip/nile-css-tooltip.js.map +1 -0
  86. package/dist/src/version.js +1 -1
  87. package/dist/src/version.js.map +1 -1
  88. package/package.json +1 -1
  89. package/dist/fixture-54600b35.cjs.js.map +0 -1
  90. package/dist/fixture-5b79f853.cjs.js +0 -395
  91. package/dist/fixture-5b79f853.cjs.js.map +0 -1
  92. package/dist/fixture-73855806.cjs.js +0 -395
  93. package/dist/fixture-90b199c4.esm.js +0 -569
  94. package/dist/fixture-c1d78368.cjs.js +0 -395
  95. package/dist/fixture-c1d78368.cjs.js.map +0 -1
  96. package/dist/fixture-cf7bfcf5.esm.js +0 -569
  97. package/dist/fixture-dbd66009.cjs.js +0 -395
  98. package/dist/fixture-dbd66009.cjs.js.map +0 -1
  99. package/dist/nile-carousel/carousel-helpers.cjs.js +0 -2
  100. package/dist/nile-carousel/carousel-helpers.cjs.js.map +0 -1
  101. package/dist/nile-carousel/carousel-helpers.esm.js +0 -1
  102. package/dist/nile-carousel/index.cjs.js +0 -2
  103. package/dist/nile-carousel/index.cjs.js.map +0 -1
  104. package/dist/nile-carousel/index.esm.js +0 -1
  105. package/dist/nile-carousel/nile-carousel-item/index.cjs.js +0 -2
  106. package/dist/nile-carousel/nile-carousel-item/index.cjs.js.map +0 -1
  107. package/dist/nile-carousel/nile-carousel-item/index.esm.js +0 -1
  108. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js +0 -2
  109. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js.map +0 -1
  110. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js +0 -2
  111. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js.map +0 -1
  112. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.esm.js +0 -18
  113. package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.esm.js +0 -5
  114. package/dist/nile-carousel/nile-carousel.cjs.js +0 -2
  115. package/dist/nile-carousel/nile-carousel.cjs.js.map +0 -1
  116. package/dist/nile-carousel/nile-carousel.css.cjs.js +0 -2
  117. package/dist/nile-carousel/nile-carousel.css.cjs.js.map +0 -1
  118. package/dist/nile-carousel/nile-carousel.css.esm.js +0 -157
  119. package/dist/nile-carousel/nile-carousel.esm.js +0 -58
  120. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +0 -2
  121. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +0 -1
  122. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +0 -1
  123. package/dist/nile-grid/nile-grid.types.cjs.js +0 -2
  124. package/dist/nile-grid/nile-grid.types.cjs.js.map +0 -1
  125. package/dist/nile-grid/nile-grid.types.esm.js +0 -1
  126. package/dist/nile-grid-body/index.cjs.js +0 -2
  127. package/dist/nile-grid-body/index.cjs.js.map +0 -1
  128. package/dist/nile-grid-body/index.esm.js +0 -1
  129. package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
  130. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
  131. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
  132. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
  133. package/dist/nile-grid-body/nile-grid-body.css.esm.js +0 -10
  134. package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
  135. package/dist/nile-grid-cell-item/index.cjs.js +0 -2
  136. package/dist/nile-grid-cell-item/index.cjs.js.map +0 -1
  137. package/dist/nile-grid-cell-item/index.esm.js +0 -1
  138. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
  139. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
  140. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
  141. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
  142. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -35
  143. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
  144. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
  145. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
  146. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
  147. package/dist/nile-grid-head/index.cjs.js +0 -2
  148. package/dist/nile-grid-head/index.cjs.js.map +0 -1
  149. package/dist/nile-grid-head/index.esm.js +0 -1
  150. package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
  151. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
  152. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
  153. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
  154. package/dist/nile-grid-head/nile-grid-head.css.esm.js +0 -7
  155. package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
  156. package/dist/nile-grid-head-item/index.cjs.js +0 -2
  157. package/dist/nile-grid-head-item/index.cjs.js.map +0 -1
  158. package/dist/nile-grid-head-item/index.esm.js +0 -1
  159. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
  160. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
  161. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
  162. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
  163. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -34
  164. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -12
  165. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
  166. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
  167. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
  168. package/dist/nile-grid-row/index.cjs.js +0 -2
  169. package/dist/nile-grid-row/index.cjs.js.map +0 -1
  170. package/dist/nile-grid-row/index.esm.js +0 -1
  171. package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
  172. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
  173. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
  174. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
  175. package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -15
  176. package/dist/nile-grid-row/nile-grid-row.esm.js +0 -7
  177. package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
  178. package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
  179. package/dist/nile-rich-text-editor/utils.esm.js +0 -1
  180. package/dist/nile-sidebar/index.cjs.js +0 -2
  181. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  182. package/dist/nile-sidebar/index.esm.js +0 -75
  183. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  184. package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
  185. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  186. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  187. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  188. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  189. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  190. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  191. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  192. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  193. package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
  194. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  195. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  196. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  197. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  198. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  199. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  200. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  201. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  202. package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
  203. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  204. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  205. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  206. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  207. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  208. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  209. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  210. package/dist/nile-virtual-select/group-manager.cjs.js +0 -2
  211. package/dist/nile-virtual-select/group-manager.cjs.js.map +0 -1
  212. package/dist/nile-virtual-select/group-manager.esm.js +0 -1
  213. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +0 -2
  214. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +0 -1
  215. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +0 -231
  216. package/dist/scopedElementsWrapper-1bff26ef.cjs.js +0 -2
  217. package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +0 -1
  218. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  219. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  220. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  221. package/dist/scopedElementsWrapper-c815042c.cjs.js +0 -2
  222. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +0 -1
  223. package/dist/src/internal/portal-manager.d.ts +0 -53
  224. package/dist/src/internal/portal-manager.js +0 -196
  225. package/dist/src/internal/portal-manager.js.map +0 -1
  226. package/dist/src/internal/portal.d.ts +0 -60
  227. package/dist/src/internal/portal.js +0 -199
  228. package/dist/src/internal/portal.js.map +0 -1
  229. package/dist/src/internal/resizable-helper.d.ts +0 -59
  230. package/dist/src/internal/resizable-helper.js +0 -115
  231. package/dist/src/internal/resizable-helper.js.map +0 -1
  232. package/dist/src/internal/resizable-styles.d.ts +0 -16
  233. package/dist/src/internal/resizable-styles.js +0 -144
  234. package/dist/src/internal/resizable-styles.js.map +0 -1
  235. package/dist/src/internal/virtualizer-error-handler.d.ts +0 -30
  236. package/dist/src/internal/virtualizer-error-handler.js +0 -82
  237. package/dist/src/internal/virtualizer-error-handler.js.map +0 -1
  238. package/dist/src/lib/index.d.ts +0 -7
  239. package/dist/src/lib/index.js +0 -8
  240. package/dist/src/lib/index.js.map +0 -1
  241. package/dist/src/lib/virtualize.d.ts +0 -32
  242. package/dist/src/lib/virtualize.js +0 -105
  243. package/dist/src/lib/virtualize.js.map +0 -1
  244. package/dist/src/lib/virtualize.test.d.ts +0 -7
  245. package/dist/src/lib/virtualize.test.js +0 -57
  246. package/dist/src/lib/virtualize.test.js.map +0 -1
  247. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
  248. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
  249. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
  250. package/dist/src/nile-carousel/carousel-helpers.d.ts +0 -18
  251. package/dist/src/nile-carousel/carousel-helpers.js +0 -53
  252. package/dist/src/nile-carousel/carousel-helpers.js.map +0 -1
  253. package/dist/src/nile-carousel/index.d.ts +0 -1
  254. package/dist/src/nile-carousel/index.js +0 -2
  255. package/dist/src/nile-carousel/index.js.map +0 -1
  256. package/dist/src/nile-carousel/nile-carousel-item/index.d.ts +0 -1
  257. package/dist/src/nile-carousel/nile-carousel-item/index.js +0 -2
  258. package/dist/src/nile-carousel/nile-carousel-item/index.js.map +0 -1
  259. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.d.ts +0 -12
  260. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js +0 -30
  261. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js.map +0 -1
  262. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.d.ts +0 -24
  263. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js +0 -35
  264. package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js.map +0 -1
  265. package/dist/src/nile-carousel/nile-carousel.css.d.ts +0 -12
  266. package/dist/src/nile-carousel/nile-carousel.css.js +0 -169
  267. package/dist/src/nile-carousel/nile-carousel.css.js.map +0 -1
  268. package/dist/src/nile-carousel/nile-carousel.d.ts +0 -56
  269. package/dist/src/nile-carousel/nile-carousel.js +0 -340
  270. package/dist/src/nile-carousel/nile-carousel.js.map +0 -1
  271. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
  272. package/dist/src/nile-code-editor/Old_theme copy.d.ts +0 -191
  273. package/dist/src/nile-code-editor/Old_theme copy.js +0 -193
  274. package/dist/src/nile-code-editor/Old_theme copy.js.map +0 -1
  275. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  276. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +0 -675
  277. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +0 -1
  278. package/dist/src/nile-code-editor/theme copy.d.ts +0 -191
  279. package/dist/src/nile-code-editor/theme copy.js +0 -193
  280. package/dist/src/nile-code-editor/theme copy.js.map +0 -1
  281. package/dist/src/nile-grid/data-processor.d.ts +0 -37
  282. package/dist/src/nile-grid/data-processor.js +0 -122
  283. package/dist/src/nile-grid/data-processor.js.map +0 -1
  284. package/dist/src/nile-grid/event-handlers.d.ts +0 -35
  285. package/dist/src/nile-grid/event-handlers.js +0 -158
  286. package/dist/src/nile-grid/event-handlers.js.map +0 -1
  287. package/dist/src/nile-grid/nile-grid.types.d.ts +0 -3
  288. package/dist/src/nile-grid/nile-grid.types.js +0 -2
  289. package/dist/src/nile-grid/nile-grid.types.js.map +0 -1
  290. package/dist/src/nile-grid/renderer.d.ts +0 -8
  291. package/dist/src/nile-grid/renderer.js +0 -78
  292. package/dist/src/nile-grid/renderer.js.map +0 -1
  293. package/dist/src/nile-grid/resize-handler.d.ts +0 -4
  294. package/dist/src/nile-grid/resize-handler.js +0 -36
  295. package/dist/src/nile-grid/resize-handler.js.map +0 -1
  296. package/dist/src/nile-grid/types.d.ts +0 -32
  297. package/dist/src/nile-grid/types.js +0 -2
  298. package/dist/src/nile-grid/types.js.map +0 -1
  299. package/dist/src/nile-grid/utils.d.ts +0 -4
  300. package/dist/src/nile-grid/utils.js +0 -32
  301. package/dist/src/nile-grid/utils.js.map +0 -1
  302. package/dist/src/nile-grid-body/index.d.ts +0 -1
  303. package/dist/src/nile-grid-body/index.js +0 -2
  304. package/dist/src/nile-grid-body/index.js.map +0 -1
  305. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +0 -12
  306. package/dist/src/nile-grid-body/nile-grid-body.css.js +0 -22
  307. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
  308. package/dist/src/nile-grid-body/nile-grid-body.d.ts +0 -29
  309. package/dist/src/nile-grid-body/nile-grid-body.js +0 -43
  310. package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
  311. package/dist/src/nile-grid-cell-item/index.d.ts +0 -1
  312. package/dist/src/nile-grid-cell-item/index.js +0 -2
  313. package/dist/src/nile-grid-cell-item/index.js.map +0 -1
  314. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
  315. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
  316. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
  317. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -36
  318. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +0 -93
  319. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
  320. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
  321. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
  322. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
  323. package/dist/src/nile-grid-head/index.d.ts +0 -1
  324. package/dist/src/nile-grid-head/index.js +0 -2
  325. package/dist/src/nile-grid-head/index.js.map +0 -1
  326. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +0 -12
  327. package/dist/src/nile-grid-head/nile-grid-head.css.js +0 -19
  328. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
  329. package/dist/src/nile-grid-head/nile-grid-head.d.ts +0 -28
  330. package/dist/src/nile-grid-head/nile-grid-head.js +0 -41
  331. package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
  332. package/dist/src/nile-grid-head-item/index.d.ts +0 -1
  333. package/dist/src/nile-grid-head-item/index.js +0 -2
  334. package/dist/src/nile-grid-head-item/index.js.map +0 -1
  335. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
  336. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +0 -46
  337. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
  338. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
  339. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +0 -100
  340. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
  341. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
  342. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +0 -34
  343. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
  344. package/dist/src/nile-grid-row/index.d.ts +0 -1
  345. package/dist/src/nile-grid-row/index.js +0 -2
  346. package/dist/src/nile-grid-row/index.js.map +0 -1
  347. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +0 -12
  348. package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
  349. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
  350. package/dist/src/nile-grid-row/nile-grid-row.d.ts +0 -29
  351. package/dist/src/nile-grid-row/nile-grid-row.js +0 -45
  352. package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
  353. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
  354. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
  355. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
  356. package/dist/src/nile-menu/portal-manager.d.ts +0 -39
  357. package/dist/src/nile-menu/portal-manager.js +0 -340
  358. package/dist/src/nile-menu/portal-manager.js.map +0 -1
  359. package/dist/src/nile-menu/portal-utils.d.ts +0 -21
  360. package/dist/src/nile-menu/portal-utils.js +0 -128
  361. package/dist/src/nile-menu/portal-utils.js.map +0 -1
  362. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
  363. package/dist/src/nile-popover/popover-portal-handler.d.ts +0 -21
  364. package/dist/src/nile-popover/popover-portal-handler.js +0 -106
  365. package/dist/src/nile-popover/popover-portal-handler.js.map +0 -1
  366. package/dist/src/nile-portal-wrapper/index.d.ts +0 -1
  367. package/dist/src/nile-portal-wrapper/index.js +0 -2
  368. package/dist/src/nile-portal-wrapper/index.js.map +0 -1
  369. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +0 -47
  370. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +0 -451
  371. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +0 -1
  372. package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
  373. package/dist/src/nile-rich-text-editor/utils.js +0 -538
  374. package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
  375. package/dist/src/nile-select/body-append-manager.d.ts +0 -90
  376. package/dist/src/nile-select/body-append-manager.js +0 -298
  377. package/dist/src/nile-select/body-append-manager.js.map +0 -1
  378. package/dist/src/nile-sidebar/index.d.ts +0 -28
  379. package/dist/src/nile-sidebar/index.js +0 -116
  380. package/dist/src/nile-sidebar/index.js.map +0 -1
  381. package/dist/src/nile-sidebar-menu/index.d.ts +0 -1
  382. package/dist/src/nile-sidebar-menu/index.js +0 -2
  383. package/dist/src/nile-sidebar-menu/index.js.map +0 -1
  384. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +0 -12
  385. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +0 -47
  386. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +0 -1
  387. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +0 -37
  388. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +0 -84
  389. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +0 -1
  390. package/dist/src/nile-sidebar-menu-items/index.d.ts +0 -1
  391. package/dist/src/nile-sidebar-menu-items/index.js +0 -2
  392. package/dist/src/nile-sidebar-menu-items/index.js.map +0 -1
  393. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +0 -12
  394. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +0 -45
  395. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +0 -1
  396. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +0 -35
  397. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -78
  398. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +0 -1
  399. package/dist/src/nile-sidebar-wrapper/index.d.ts +0 -1
  400. package/dist/src/nile-sidebar-wrapper/index.js +0 -2
  401. package/dist/src/nile-sidebar-wrapper/index.js.map +0 -1
  402. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +0 -12
  403. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +0 -114
  404. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +0 -1
  405. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +0 -35
  406. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +0 -89
  407. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +0 -1
  408. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
  409. package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
  410. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
  411. package/dist/src/nile-virtual-select/body-append-helper.d.ts +0 -16
  412. package/dist/src/nile-virtual-select/body-append-helper.js +0 -95
  413. package/dist/src/nile-virtual-select/body-append-helper.js.map +0 -1
  414. package/dist/src/nile-virtual-select/group-manager.d.ts +0 -32
  415. package/dist/src/nile-virtual-select/group-manager.js +0 -134
  416. package/dist/src/nile-virtual-select/group-manager.js.map +0 -1
  417. package/dist/src/nile-virtual-select/portal-utils.d.ts +0 -65
  418. package/dist/src/nile-virtual-select/portal-utils.js +0 -376
  419. package/dist/src/nile-virtual-select/portal-utils.js.map +0 -1
  420. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +0 -273
  421. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +0 -1305
  422. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +0 -1
  423. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +0 -21
  424. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +0 -56
  425. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +0 -1
  426. package/dist/src/nile-virtual-select-disabled/index.d.ts +0 -1
  427. package/dist/src/nile-virtual-select-disabled/index.js +0 -2
  428. package/dist/src/nile-virtual-select-disabled/index.js.map +0 -1
  429. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +0 -12
  430. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +0 -538
  431. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +0 -1
  432. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +0 -299
  433. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +0 -1441
  434. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +0 -1
  435. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +0 -7
  436. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +0 -631
  437. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +0 -1
  438. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +0 -45
  439. package/dist/src/nile-virtual-select-disabled/portal-manager.js +0 -333
  440. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +0 -1
  441. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +0 -16
  442. package/dist/src/nile-virtual-select-disabled/renderer.js +0 -79
  443. package/dist/src/nile-virtual-select-disabled/renderer.js.map +0 -1
  444. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +0 -12
  445. package/dist/src/nile-virtual-select-disabled/search-manager.js +0 -40
  446. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +0 -1
  447. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +0 -12
  448. package/dist/src/nile-virtual-select-disabled/selection-manager.js +0 -64
  449. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +0 -1
  450. package/dist/src/nile-virtual-select-disabled/types.d.ts +0 -50
  451. package/dist/src/nile-virtual-select-disabled/types.js +0 -8
  452. package/dist/src/nile-virtual-select-disabled/types.js.map +0 -1
  453. package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
  454. package/dist/src/nile-virtual-table-body/index.js +0 -3
  455. package/dist/src/nile-virtual-table-body/index.js.map +0 -1
  456. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
  457. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
  458. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
  459. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
  460. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
  461. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
  462. package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
  463. package/dist/src/nile-virtual-table-body/renderer.js +0 -49
  464. package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
  465. package/dist/src/utilities/stepper-utils.d.ts +0 -71
  466. package/dist/src/utilities/stepper-utils.js +0 -108
  467. package/dist/src/utilities/stepper-utils.js.map +0 -1
@@ -1,169 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,56 +0,0 @@
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
- }
@@ -1,340 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,31 +0,0 @@
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
-