@aquera/nile-elements 0.1.56-beta-1.1 → 0.1.56

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 (846) hide show
  1. package/README.md +59 -14
  2. package/demo/index.html +29 -145
  3. package/demo/index.js +0 -1
  4. package/dist/axe.min-2720cd56.esm.js +1 -0
  5. package/dist/axe.min-69d47269.cjs.js +2 -0
  6. package/dist/axe.min-69d47269.cjs.js.map +1 -0
  7. package/dist/{fixture-add72f26.esm.js → fixture-e7023246.esm.js} +1 -1
  8. package/dist/{fixture-cb376a7f.cjs.js → fixture-fe6c932e.cjs.js} +3 -3
  9. package/dist/fixture-fe6c932e.cjs.js.map +1 -0
  10. package/dist/index.cjs.js +1 -1
  11. package/dist/index.esm.js +1 -1
  12. package/dist/index.js +10341 -0
  13. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  14. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  16. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  17. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  18. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  19. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  20. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  21. package/dist/nile-badge/index.cjs.js +1 -1
  22. package/dist/nile-badge/index.esm.js +1 -1
  23. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  24. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  25. package/dist/nile-badge/nile-badge.esm.js +1 -1
  26. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  27. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  28. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  29. package/dist/nile-button/index.cjs.js +1 -1
  30. package/dist/nile-button/index.esm.js +1 -1
  31. package/dist/nile-button/nile-button.cjs.js +1 -1
  32. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  33. package/dist/nile-button/nile-button.esm.js +1 -1
  34. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  35. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  36. package/dist/nile-button/nile-button.test.esm.js +1 -1
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  39. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  40. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  41. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  42. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  43. package/dist/nile-card/nile-card.test.esm.js +1 -1
  44. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  45. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  46. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  47. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  48. package/dist/nile-chip/nile-chip.esm.js +9 -17
  49. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  50. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  51. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  52. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  53. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  54. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  55. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  56. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  57. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  58. package/dist/nile-code-editor/theme.cjs.js +1 -1
  59. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  60. package/dist/nile-code-editor/theme.esm.js +1 -1
  61. package/dist/nile-dialog/index.cjs.js +1 -1
  62. package/dist/nile-dialog/index.esm.js +1 -1
  63. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  64. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  65. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  66. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  67. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  68. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  69. package/dist/nile-drawer/index.cjs.js +1 -1
  70. package/dist/nile-drawer/index.esm.js +1 -1
  71. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  72. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  73. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  74. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  75. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  76. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  77. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  78. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  79. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  80. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  81. package/dist/nile-empty-state/nile-empty-state.esm.js +13 -13
  82. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  83. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  84. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  85. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  86. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  87. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  88. package/dist/nile-error-notification/nile-error-notification.esm.js +4 -2
  89. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  90. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  91. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  92. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  93. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  94. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  95. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  96. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  97. package/dist/nile-icon/icons/svg/accessreview.cjs.js +1 -1
  98. package/dist/nile-icon/icons/svg/accessreview.cjs.js.map +1 -1
  99. package/dist/nile-icon/icons/svg/accessreview.esm.js +1 -1
  100. package/dist/nile-icon/icons/svg/agent.cjs.js +1 -1
  101. package/dist/nile-icon/icons/svg/agent.cjs.js.map +1 -1
  102. package/dist/nile-icon/icons/svg/agent.esm.js +1 -1
  103. package/dist/nile-icon/icons/svg/api.cjs.js +1 -1
  104. package/dist/nile-icon/icons/svg/api.cjs.js.map +1 -1
  105. package/dist/nile-icon/icons/svg/api.esm.js +1 -1
  106. package/dist/nile-icon/icons/svg/apply-filter.cjs.js +1 -1
  107. package/dist/nile-icon/icons/svg/apply-filter.cjs.js.map +1 -1
  108. package/dist/nile-icon/icons/svg/apply-filter.esm.js +1 -1
  109. package/dist/nile-icon/icons/svg/arrowdropdown.cjs.js +1 -1
  110. package/dist/nile-icon/icons/svg/arrowdropdown.cjs.js.map +1 -1
  111. package/dist/nile-icon/icons/svg/arrowdropdown.esm.js +1 -1
  112. package/dist/nile-icon/icons/svg/arrowdropup.cjs.js +1 -1
  113. package/dist/nile-icon/icons/svg/arrowdropup.cjs.js.map +1 -1
  114. package/dist/nile-icon/icons/svg/arrowdropup.esm.js +1 -1
  115. package/dist/nile-icon/icons/svg/attribute.cjs.js +2 -0
  116. package/dist/nile-icon/icons/svg/attribute.cjs.js.map +1 -0
  117. package/dist/nile-icon/icons/svg/attribute.esm.js +1 -0
  118. package/dist/nile-icon/icons/svg/class.cjs.js +2 -0
  119. package/dist/nile-icon/icons/svg/class.cjs.js.map +1 -0
  120. package/dist/nile-icon/icons/svg/class.esm.js +1 -0
  121. package/dist/nile-icon/icons/svg/column-add.cjs.js +2 -0
  122. package/dist/nile-icon/icons/svg/column-add.cjs.js.map +1 -0
  123. package/dist/nile-icon/icons/svg/column-add.esm.js +1 -0
  124. package/dist/nile-icon/icons/svg/database.cjs.js +1 -1
  125. package/dist/nile-icon/icons/svg/database.cjs.js.map +1 -1
  126. package/dist/nile-icon/icons/svg/database.esm.js +1 -1
  127. package/dist/nile-icon/icons/svg/done.cjs.js +1 -1
  128. package/dist/nile-icon/icons/svg/done.cjs.js.map +1 -1
  129. package/dist/nile-icon/icons/svg/done.esm.js +1 -1
  130. package/dist/nile-icon/icons/svg/dontmap.cjs.js +1 -1
  131. package/dist/nile-icon/icons/svg/dontmap.cjs.js.map +1 -1
  132. package/dist/nile-icon/icons/svg/dontmap.esm.js +1 -1
  133. package/dist/nile-icon/icons/svg/doublearrowleft.cjs.js +1 -1
  134. package/dist/nile-icon/icons/svg/doublearrowleft.cjs.js.map +1 -1
  135. package/dist/nile-icon/icons/svg/doublearrowleft.esm.js +1 -1
  136. package/dist/nile-icon/icons/svg/doublearrowright.cjs.js +1 -1
  137. package/dist/nile-icon/icons/svg/doublearrowright.cjs.js.map +1 -1
  138. package/dist/nile-icon/icons/svg/doublearrowright.esm.js +1 -1
  139. package/dist/nile-icon/icons/svg/drag.cjs.js +1 -1
  140. package/dist/nile-icon/icons/svg/drag.cjs.js.map +1 -1
  141. package/dist/nile-icon/icons/svg/drag.esm.js +1 -1
  142. package/dist/nile-icon/icons/svg/expand-06.cjs.js +1 -1
  143. package/dist/nile-icon/icons/svg/expand-06.cjs.js.map +1 -1
  144. package/dist/nile-icon/icons/svg/expand-06.esm.js +1 -1
  145. package/dist/nile-icon/icons/svg/expand.cjs.js +1 -1
  146. package/dist/nile-icon/icons/svg/expand.cjs.js.map +1 -1
  147. package/dist/nile-icon/icons/svg/expand.esm.js +1 -1
  148. package/dist/nile-icon/icons/svg/function.cjs.js +2 -0
  149. package/dist/nile-icon/icons/svg/function.cjs.js.map +1 -0
  150. package/dist/nile-icon/icons/svg/function.esm.js +1 -0
  151. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  152. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  153. package/dist/nile-icon/icons/svg/info.cjs.js +1 -1
  154. package/dist/nile-icon/icons/svg/info.cjs.js.map +1 -1
  155. package/dist/nile-icon/icons/svg/info.esm.js +1 -1
  156. package/dist/nile-icon/icons/svg/integer.cjs.js +1 -1
  157. package/dist/nile-icon/icons/svg/integer.cjs.js.map +1 -1
  158. package/dist/nile-icon/icons/svg/integer.esm.js +1 -1
  159. package/dist/nile-icon/icons/svg/keyword.cjs.js +2 -0
  160. package/dist/nile-icon/icons/svg/keyword.cjs.js.map +1 -0
  161. package/dist/nile-icon/icons/svg/keyword.esm.js +1 -0
  162. package/dist/nile-icon/icons/svg/pluscircle.cjs.js +1 -1
  163. package/dist/nile-icon/icons/svg/pluscircle.cjs.js.map +1 -1
  164. package/dist/nile-icon/icons/svg/pluscircle.esm.js +1 -1
  165. package/dist/nile-icon/icons/svg/question.cjs.js +1 -1
  166. package/dist/nile-icon/icons/svg/question.cjs.js.map +1 -1
  167. package/dist/nile-icon/icons/svg/question.esm.js +1 -1
  168. package/dist/nile-icon/icons/svg/resource.cjs.js +1 -1
  169. package/dist/nile-icon/icons/svg/resource.cjs.js.map +1 -1
  170. package/dist/nile-icon/icons/svg/resource.esm.js +1 -1
  171. package/dist/nile-icon/icons/svg/savings.cjs.js +2 -0
  172. package/dist/nile-icon/icons/svg/savings.cjs.js.map +1 -0
  173. package/dist/nile-icon/icons/svg/savings.esm.js +1 -0
  174. package/dist/nile-icon/icons/svg/sendescalation.cjs.js +1 -1
  175. package/dist/nile-icon/icons/svg/sendescalation.cjs.js.map +1 -1
  176. package/dist/nile-icon/icons/svg/sendescalation.esm.js +1 -1
  177. package/dist/nile-icon/icons/svg/sendreminder.cjs.js +1 -1
  178. package/dist/nile-icon/icons/svg/sendreminder.cjs.js.map +1 -1
  179. package/dist/nile-icon/icons/svg/sendreminder.esm.js +1 -1
  180. package/dist/nile-icon/icons/svg/timezone.cjs.js +1 -1
  181. package/dist/nile-icon/icons/svg/timezone.cjs.js.map +1 -1
  182. package/dist/nile-icon/icons/svg/timezone.esm.js +1 -1
  183. package/dist/nile-icon/icons/svg/unmute.cjs.js +1 -1
  184. package/dist/nile-icon/icons/svg/unmute.cjs.js.map +1 -1
  185. package/dist/nile-icon/icons/svg/unmute.esm.js +1 -1
  186. package/dist/nile-icon/icons/svg/upgrade.cjs.js +1 -1
  187. package/dist/nile-icon/icons/svg/upgrade.cjs.js.map +1 -1
  188. package/dist/nile-icon/icons/svg/upgrade.esm.js +1 -1
  189. package/dist/nile-icon/index.cjs.js +1 -1
  190. package/dist/nile-icon/index.cjs.js.map +1 -1
  191. package/dist/nile-icon/index.esm.js +1 -1
  192. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  193. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  194. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  195. package/dist/nile-icon-button/index.cjs.js +1 -1
  196. package/dist/nile-icon-button/index.esm.js +1 -1
  197. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  198. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  199. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  200. package/dist/nile-input/index.cjs.js +1 -1
  201. package/dist/nile-input/index.esm.js +1 -1
  202. package/dist/nile-input/nile-input.cjs.js +1 -1
  203. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  204. package/dist/nile-input/nile-input.esm.js +1 -1
  205. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  206. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  207. package/dist/nile-input/nile-input.test.esm.js +1 -1
  208. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  209. package/dist/nile-link/nile-link.test.esm.js +1 -1
  210. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  211. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  212. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  213. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  214. package/dist/nile-menu/nile-menu.css.esm.js +3 -3
  215. package/dist/nile-menu-item/index.cjs.js +1 -1
  216. package/dist/nile-menu-item/index.esm.js +1 -1
  217. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  218. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  219. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  220. package/dist/nile-option/index.cjs.js +1 -1
  221. package/dist/nile-option/index.esm.js +1 -1
  222. package/dist/nile-option/nile-option.cjs.js +1 -1
  223. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  224. package/dist/nile-option/nile-option.esm.js +2 -2
  225. package/dist/nile-pagination/index.cjs.js +2 -0
  226. package/dist/nile-pagination/index.esm.js +1 -0
  227. package/dist/nile-pagination/nile-pagination-utils.cjs.js +2 -0
  228. package/dist/nile-pagination/nile-pagination-utils.cjs.js.map +1 -0
  229. package/dist/nile-pagination/nile-pagination-utils.esm.js +1 -0
  230. package/dist/nile-pagination/nile-pagination.cjs.js +2 -0
  231. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -0
  232. package/dist/nile-pagination/nile-pagination.css.cjs.js +2 -0
  233. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -0
  234. package/dist/nile-pagination/nile-pagination.css.esm.js +238 -0
  235. package/dist/nile-pagination/nile-pagination.esm.js +178 -0
  236. package/dist/nile-popover/index.cjs.js +1 -1
  237. package/dist/nile-popover/index.esm.js +1 -1
  238. package/dist/nile-popover/nile-popover.cjs.js +11 -3
  239. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  240. package/dist/nile-popover/nile-popover.esm.js +13 -7
  241. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  242. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  243. package/dist/nile-popover/nile-popover.test.esm.js +3 -3
  244. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  245. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  246. package/dist/nile-popup/nile-popup.esm.js +1 -1
  247. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  248. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  249. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  250. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  251. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  252. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  253. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  254. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  255. package/dist/nile-select/index.cjs.js +1 -1
  256. package/dist/nile-select/index.esm.js +1 -1
  257. package/dist/nile-select/nile-select.cjs.js +1 -1
  258. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  259. package/dist/nile-select/nile-select.esm.js +1 -1
  260. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  261. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  262. package/dist/nile-select/nile-select.test.esm.js +1 -1
  263. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  264. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  265. package/dist/nile-tab/index.cjs.js +1 -1
  266. package/dist/nile-tab/index.esm.js +1 -1
  267. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  268. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  269. package/dist/nile-tab/nile-tab.esm.js +2 -2
  270. package/dist/nile-tab-group/index.cjs.js +1 -1
  271. package/dist/nile-tab-group/index.esm.js +1 -1
  272. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  273. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  274. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  275. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  276. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  277. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  278. package/dist/nile-tag/index.cjs.js +1 -1
  279. package/dist/nile-tag/index.esm.js +1 -1
  280. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  281. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  282. package/dist/nile-tag/nile-tag.esm.js +1 -1
  283. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  284. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  285. package/dist/nile-toast/index.cjs.js +1 -1
  286. package/dist/nile-toast/index.esm.js +1 -1
  287. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  288. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  289. package/dist/nile-toast/nile-toast.esm.js +1 -1
  290. package/dist/nile-tree/index.cjs.js +1 -1
  291. package/dist/nile-tree/index.esm.js +1 -1
  292. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  293. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  294. package/dist/nile-tree/nile-tree.esm.js +1 -1
  295. package/dist/nile-tree-item/index.cjs.js +1 -1
  296. package/dist/nile-tree-item/index.esm.js +1 -1
  297. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  298. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  299. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  300. package/dist/src/index.d.ts +1 -2
  301. package/dist/src/index.js +1 -2
  302. package/dist/src/index.js.map +1 -1
  303. package/dist/src/nile-chip/nile-chip.js +1 -9
  304. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  305. package/dist/src/nile-code-editor/nile-code-editor.d.ts +2 -0
  306. package/dist/src/nile-code-editor/nile-code-editor.js +48 -6
  307. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  308. package/dist/src/nile-code-editor/theme.d.ts +110 -0
  309. package/dist/src/nile-code-editor/theme.js +110 -0
  310. package/dist/src/nile-code-editor/theme.js.map +1 -1
  311. package/dist/src/nile-empty-state/nile-empty-state.js +11 -11
  312. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  313. package/dist/src/nile-error-notification/nile-error-notification.js +4 -2
  314. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  315. package/dist/src/nile-icon/icons/svg/accessreview.d.ts +1 -1
  316. package/dist/src/nile-icon/icons/svg/accessreview.js +1 -1
  317. package/dist/src/nile-icon/icons/svg/accessreview.js.map +1 -1
  318. package/dist/src/nile-icon/icons/svg/agent.d.ts +1 -1
  319. package/dist/src/nile-icon/icons/svg/agent.js +1 -1
  320. package/dist/src/nile-icon/icons/svg/agent.js.map +1 -1
  321. package/dist/src/nile-icon/icons/svg/api.d.ts +1 -1
  322. package/dist/src/nile-icon/icons/svg/api.js +1 -1
  323. package/dist/src/nile-icon/icons/svg/api.js.map +1 -1
  324. package/dist/src/nile-icon/icons/svg/apply-filter.d.ts +1 -1
  325. package/dist/src/nile-icon/icons/svg/apply-filter.js +1 -1
  326. package/dist/src/nile-icon/icons/svg/apply-filter.js.map +1 -1
  327. package/dist/src/nile-icon/icons/svg/arrowdropdown.d.ts +1 -1
  328. package/dist/src/nile-icon/icons/svg/arrowdropdown.js +1 -1
  329. package/dist/src/nile-icon/icons/svg/arrowdropdown.js.map +1 -1
  330. package/dist/src/nile-icon/icons/svg/arrowdropup.d.ts +1 -1
  331. package/dist/src/nile-icon/icons/svg/arrowdropup.js +1 -1
  332. package/dist/src/nile-icon/icons/svg/arrowdropup.js.map +1 -1
  333. package/dist/src/nile-icon/icons/svg/attribute.d.ts +5 -0
  334. package/dist/src/nile-icon/icons/svg/attribute.js +5 -0
  335. package/dist/src/nile-icon/icons/svg/attribute.js.map +1 -0
  336. package/dist/src/nile-icon/icons/svg/class.d.ts +5 -0
  337. package/dist/src/nile-icon/icons/svg/class.js +5 -0
  338. package/dist/src/nile-icon/icons/svg/class.js.map +1 -0
  339. package/dist/src/nile-icon/icons/svg/database.d.ts +1 -1
  340. package/dist/src/nile-icon/icons/svg/database.js +1 -1
  341. package/dist/src/nile-icon/icons/svg/database.js.map +1 -1
  342. package/dist/src/nile-icon/icons/svg/done.d.ts +1 -1
  343. package/dist/src/nile-icon/icons/svg/done.js +1 -1
  344. package/dist/src/nile-icon/icons/svg/done.js.map +1 -1
  345. package/dist/src/nile-icon/icons/svg/dontmap.d.ts +1 -1
  346. package/dist/src/nile-icon/icons/svg/dontmap.js +1 -1
  347. package/dist/src/nile-icon/icons/svg/dontmap.js.map +1 -1
  348. package/dist/src/nile-icon/icons/svg/doublearrowleft.d.ts +1 -1
  349. package/dist/src/nile-icon/icons/svg/doublearrowleft.js +1 -1
  350. package/dist/src/nile-icon/icons/svg/doublearrowleft.js.map +1 -1
  351. package/dist/src/nile-icon/icons/svg/doublearrowright.d.ts +1 -1
  352. package/dist/src/nile-icon/icons/svg/doublearrowright.js +1 -1
  353. package/dist/src/nile-icon/icons/svg/doublearrowright.js.map +1 -1
  354. package/dist/src/nile-icon/icons/svg/drag.d.ts +1 -1
  355. package/dist/src/nile-icon/icons/svg/drag.js +1 -1
  356. package/dist/src/nile-icon/icons/svg/drag.js.map +1 -1
  357. package/dist/src/nile-icon/icons/svg/expand-06.d.ts +1 -1
  358. package/dist/src/nile-icon/icons/svg/expand-06.js +1 -1
  359. package/dist/src/nile-icon/icons/svg/expand-06.js.map +1 -1
  360. package/dist/src/nile-icon/icons/svg/expand.d.ts +1 -1
  361. package/dist/src/nile-icon/icons/svg/expand.js +1 -1
  362. package/dist/src/nile-icon/icons/svg/expand.js.map +1 -1
  363. package/dist/src/nile-icon/icons/svg/function.d.ts +5 -0
  364. package/dist/src/nile-icon/icons/svg/function.js +5 -0
  365. package/dist/src/nile-icon/icons/svg/function.js.map +1 -0
  366. package/dist/src/nile-icon/icons/svg/index.d.ts +6 -0
  367. package/dist/src/nile-icon/icons/svg/index.js +6 -0
  368. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  369. package/dist/src/nile-icon/icons/svg/info.d.ts +1 -1
  370. package/dist/src/nile-icon/icons/svg/info.js +1 -1
  371. package/dist/src/nile-icon/icons/svg/info.js.map +1 -1
  372. package/dist/src/nile-icon/icons/svg/integer.d.ts +1 -1
  373. package/dist/src/nile-icon/icons/svg/integer.js +1 -1
  374. package/dist/src/nile-icon/icons/svg/integer.js.map +1 -1
  375. package/dist/src/nile-icon/icons/svg/keyword.d.ts +5 -0
  376. package/dist/src/nile-icon/icons/svg/keyword.js +5 -0
  377. package/dist/src/nile-icon/icons/svg/keyword.js.map +1 -0
  378. package/dist/src/nile-icon/icons/svg/pluscircle.d.ts +1 -1
  379. package/dist/src/nile-icon/icons/svg/pluscircle.js +1 -1
  380. package/dist/src/nile-icon/icons/svg/pluscircle.js.map +1 -1
  381. package/dist/src/nile-icon/icons/svg/question.d.ts +1 -1
  382. package/dist/src/nile-icon/icons/svg/question.js +1 -1
  383. package/dist/src/nile-icon/icons/svg/question.js.map +1 -1
  384. package/dist/src/nile-icon/icons/svg/resource.d.ts +1 -1
  385. package/dist/src/nile-icon/icons/svg/resource.js +1 -1
  386. package/dist/src/nile-icon/icons/svg/resource.js.map +1 -1
  387. package/dist/src/nile-icon/icons/svg/sendescalation.d.ts +1 -1
  388. package/dist/src/nile-icon/icons/svg/sendescalation.js +1 -1
  389. package/dist/src/nile-icon/icons/svg/sendescalation.js.map +1 -1
  390. package/dist/src/nile-icon/icons/svg/sendreminder.d.ts +1 -1
  391. package/dist/src/nile-icon/icons/svg/sendreminder.js +1 -1
  392. package/dist/src/nile-icon/icons/svg/sendreminder.js.map +1 -1
  393. package/dist/src/nile-icon/icons/svg/timezone.d.ts +1 -1
  394. package/dist/src/nile-icon/icons/svg/timezone.js +1 -1
  395. package/dist/src/nile-icon/icons/svg/timezone.js.map +1 -1
  396. package/dist/src/nile-icon/icons/svg/unmute.d.ts +1 -1
  397. package/dist/src/nile-icon/icons/svg/unmute.js +1 -1
  398. package/dist/src/nile-icon/icons/svg/unmute.js.map +1 -1
  399. package/dist/src/nile-icon/icons/svg/upgrade.d.ts +1 -1
  400. package/dist/src/nile-icon/icons/svg/upgrade.js +1 -1
  401. package/dist/src/nile-icon/icons/svg/upgrade.js.map +1 -1
  402. package/dist/src/nile-menu/nile-menu.css.js +1 -1
  403. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  404. package/dist/src/nile-option/nile-option.d.ts +3 -1
  405. package/dist/src/nile-option/nile-option.js +9 -0
  406. package/dist/src/nile-option/nile-option.js.map +1 -1
  407. package/dist/src/nile-pagination/nile-pagination-utils.js.map +1 -1
  408. package/dist/src/nile-pagination/nile-pagination.css.js +151 -38
  409. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  410. package/dist/src/nile-pagination/nile-pagination.d.ts +3 -0
  411. package/dist/src/nile-pagination/nile-pagination.js +167 -40
  412. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  413. package/dist/src/nile-popup/nile-popup.js +20 -1
  414. package/dist/src/nile-popup/nile-popup.js.map +1 -1
  415. package/dist/src/nile-select/nile-select.d.ts +3 -1
  416. package/dist/src/nile-select/nile-select.js +11 -0
  417. package/dist/src/nile-select/nile-select.js.map +1 -1
  418. package/dist/src/nile-tab/nile-tab.js +1 -1
  419. package/dist/src/nile-tab/nile-tab.js.map +1 -1
  420. package/dist/tsconfig.tsbuildinfo +1 -1
  421. package/package.json +4 -2
  422. package/rollup.config.js +27 -39
  423. package/src/index.ts +2 -3
  424. package/src/nile-chip/nile-chip.ts +1 -9
  425. package/src/nile-code-editor/nile-code-editor.ts +55 -6
  426. package/src/nile-code-editor/theme.ts +111 -0
  427. package/src/nile-empty-state/nile-empty-state.ts +11 -11
  428. package/src/nile-error-notification/nile-error-notification.ts +4 -3
  429. package/src/nile-icon/icons/svg/accessreview.ts +1 -1
  430. package/src/nile-icon/icons/svg/agent.ts +1 -1
  431. package/src/nile-icon/icons/svg/api.ts +1 -1
  432. package/src/nile-icon/icons/svg/apply-filter.ts +1 -1
  433. package/src/nile-icon/icons/svg/arrowdropdown.ts +1 -1
  434. package/src/nile-icon/icons/svg/arrowdropup.ts +1 -1
  435. package/src/nile-icon/icons/svg/attribute.ts +5 -0
  436. package/src/nile-icon/icons/svg/class.ts +5 -0
  437. package/src/nile-icon/icons/svg/column-add.ts +5 -0
  438. package/src/nile-icon/icons/svg/database.ts +1 -1
  439. package/src/nile-icon/icons/svg/done.ts +1 -1
  440. package/src/nile-icon/icons/svg/dontmap.ts +1 -1
  441. package/src/nile-icon/icons/svg/doublearrowleft.ts +1 -1
  442. package/src/nile-icon/icons/svg/doublearrowright.ts +1 -1
  443. package/src/nile-icon/icons/svg/drag.ts +1 -1
  444. package/src/nile-icon/icons/svg/expand-06.ts +1 -1
  445. package/src/nile-icon/icons/svg/expand.ts +1 -1
  446. package/src/nile-icon/icons/svg/function.ts +5 -0
  447. package/src/nile-icon/icons/svg/index.ts +6 -0
  448. package/src/nile-icon/icons/svg/info.ts +1 -1
  449. package/src/nile-icon/icons/svg/integer.ts +1 -1
  450. package/src/nile-icon/icons/svg/keyword.ts +5 -0
  451. package/src/nile-icon/icons/svg/pluscircle.ts +1 -1
  452. package/src/nile-icon/icons/svg/question.ts +1 -1
  453. package/src/nile-icon/icons/svg/resource.ts +1 -1
  454. package/src/nile-icon/icons/svg/savings.ts +5 -0
  455. package/src/nile-icon/icons/svg/sendescalation.ts +1 -1
  456. package/src/nile-icon/icons/svg/sendreminder.ts +1 -1
  457. package/src/nile-icon/icons/svg/timezone.ts +1 -1
  458. package/src/nile-icon/icons/svg/unmute.ts +1 -1
  459. package/src/nile-icon/icons/svg/upgrade.ts +1 -1
  460. package/src/nile-menu/nile-menu.css.ts +1 -1
  461. package/src/nile-option/nile-option.ts +9 -1
  462. package/src/nile-pagination/index.ts +1 -0
  463. package/src/nile-pagination/nile-pagination-utils.ts +63 -0
  464. package/src/nile-pagination/nile-pagination.css.ts +252 -0
  465. package/src/nile-pagination/nile-pagination.ts +361 -0
  466. package/src/nile-popup/nile-popup.ts +20 -3
  467. package/src/nile-select/nile-select.ts +14 -1
  468. package/src/nile-tab/nile-tab.ts +1 -1
  469. package/vscode-html-custom-data.json +56 -145
  470. package/demo/filenames.txt +0 -1
  471. package/demo/filenames.txt +0 -1
  472. package/dist/axe.min-2b379f29.cjs.js +0 -12
  473. package/dist/axe.min-2b379f29.cjs.js.map +0 -1
  474. package/dist/axe.min-c2cd8733.esm.js +0 -12
  475. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  476. package/dist/lit-html-39a6718c.esm.js +0 -6
  477. package/dist/lit-html-9b3af046.cjs.js +0 -6
  478. package/dist/lit-html-9b3af046.cjs.js.map +0 -1
  479. package/dist/nile-file-preview/index.cjs.js +0 -2
  480. package/dist/nile-file-preview/index.esm.js +0 -1
  481. package/dist/nile-file-preview/nile-file-preview.cjs.js +0 -2
  482. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +0 -1
  483. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +0 -2
  484. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +0 -1
  485. package/dist/nile-file-preview/nile-file-preview.css.esm.js +0 -512
  486. package/dist/nile-file-preview/nile-file-preview.esm.js +0 -3
  487. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +0 -2
  488. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +0 -1
  489. package/dist/nile-file-preview/nile-file-preview.template.esm.js +0 -173
  490. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
  491. package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
  492. package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
  493. package/dist/nile-file-preview/types/index.cjs.js +0 -2
  494. package/dist/nile-file-preview/types/index.cjs.js.map +0 -1
  495. package/dist/nile-file-preview/types/index.esm.js +0 -1
  496. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +0 -2
  497. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +0 -1
  498. package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +0 -1
  499. package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js +0 -2
  500. package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js.map +0 -1
  501. package/dist/nile-file-preview/types/nile-file-preview.interface.esm.js +0 -1
  502. package/dist/nile-file-preview/utils/index.cjs.js +0 -2
  503. package/dist/nile-file-preview/utils/index.cjs.js.map +0 -1
  504. package/dist/nile-file-preview/utils/index.esm.js +0 -1
  505. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +0 -2
  506. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +0 -1
  507. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +0 -1
  508. package/dist/nile-file-upload/index.cjs.js +0 -2
  509. package/dist/nile-file-upload/index.cjs.js.map +0 -1
  510. package/dist/nile-file-upload/index.esm.js +0 -1
  511. package/dist/nile-file-upload/nile-file-upload.cjs.js +0 -2
  512. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +0 -1
  513. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +0 -2
  514. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +0 -1
  515. package/dist/nile-file-upload/nile-file-upload.css.esm.js +0 -538
  516. package/dist/nile-file-upload/nile-file-upload.esm.js +0 -3
  517. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +0 -10
  518. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +0 -1
  519. package/dist/nile-file-upload/nile-file-upload.template.esm.js +0 -111
  520. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
  521. package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
  522. package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
  523. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +0 -2
  524. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +0 -1
  525. package/dist/nile-file-upload/types/file-upload.enums.esm.js +0 -1
  526. package/dist/nile-file-upload/types/file-upload.type.cjs.js +0 -2
  527. package/dist/nile-file-upload/types/file-upload.type.cjs.js.map +0 -1
  528. package/dist/nile-file-upload/types/file-upload.type.esm.js +0 -1
  529. package/dist/nile-file-upload/types/index.cjs.js +0 -2
  530. package/dist/nile-file-upload/types/index.cjs.js.map +0 -1
  531. package/dist/nile-file-upload/types/index.esm.js +0 -1
  532. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +0 -2
  533. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +0 -1
  534. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +0 -1
  535. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +0 -3
  536. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +0 -1
  537. package/dist/nile-file-upload/utils/file-validation.util.esm.js +0 -1
  538. package/dist/src/nile-file-preview/index.d.ts +0 -1
  539. package/dist/src/nile-file-preview/index.js +0 -2
  540. package/dist/src/nile-file-preview/index.js.map +0 -1
  541. package/dist/src/nile-file-preview/nile-file-preview.css.d.ts +0 -12
  542. package/dist/src/nile-file-preview/nile-file-preview.css.js +0 -524
  543. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +0 -1
  544. package/dist/src/nile-file-preview/nile-file-preview.d.ts +0 -50
  545. package/dist/src/nile-file-preview/nile-file-preview.js +0 -171
  546. package/dist/src/nile-file-preview/nile-file-preview.js.map +0 -1
  547. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +0 -13
  548. package/dist/src/nile-file-preview/nile-file-preview.template.js +0 -205
  549. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +0 -1
  550. package/dist/src/nile-file-preview/nile-file-preview.test.d.ts +0 -7
  551. package/dist/src/nile-file-preview/nile-file-preview.test.js +0 -30
  552. package/dist/src/nile-file-preview/nile-file-preview.test.js.map +0 -1
  553. package/dist/src/nile-file-preview/types/index.d.ts +0 -2
  554. package/dist/src/nile-file-preview/types/index.js +0 -3
  555. package/dist/src/nile-file-preview/types/index.js.map +0 -1
  556. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +0 -27
  557. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +0 -32
  558. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +0 -1
  559. package/dist/src/nile-file-preview/types/nile-file-preview.interface.d.ts +0 -4
  560. package/dist/src/nile-file-preview/types/nile-file-preview.interface.js +0 -2
  561. package/dist/src/nile-file-preview/types/nile-file-preview.interface.js.map +0 -1
  562. package/dist/src/nile-file-preview/utils/index.d.ts +0 -1
  563. package/dist/src/nile-file-preview/utils/index.js +0 -2
  564. package/dist/src/nile-file-preview/utils/index.js.map +0 -1
  565. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +0 -5
  566. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +0 -50
  567. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +0 -1
  568. package/dist/src/nile-file-upload/index.d.ts +0 -1
  569. package/dist/src/nile-file-upload/index.js +0 -2
  570. package/dist/src/nile-file-upload/index.js.map +0 -1
  571. package/dist/src/nile-file-upload/nile-file-upload.css.d.ts +0 -12
  572. package/dist/src/nile-file-upload/nile-file-upload.css.js +0 -550
  573. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +0 -1
  574. package/dist/src/nile-file-upload/nile-file-upload.d.ts +0 -48
  575. package/dist/src/nile-file-upload/nile-file-upload.js +0 -162
  576. package/dist/src/nile-file-upload/nile-file-upload.js.map +0 -1
  577. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +0 -10
  578. package/dist/src/nile-file-upload/nile-file-upload.template.js +0 -117
  579. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +0 -1
  580. package/dist/src/nile-file-upload/nile-file-upload.test.d.ts +0 -7
  581. package/dist/src/nile-file-upload/nile-file-upload.test.js +0 -30
  582. package/dist/src/nile-file-upload/nile-file-upload.test.js.map +0 -1
  583. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +0 -36
  584. package/dist/src/nile-file-upload/types/file-upload.enums.js +0 -43
  585. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +0 -1
  586. package/dist/src/nile-file-upload/types/file-upload.type.d.ts +0 -4
  587. package/dist/src/nile-file-upload/types/file-upload.type.js +0 -2
  588. package/dist/src/nile-file-upload/types/file-upload.type.js.map +0 -1
  589. package/dist/src/nile-file-upload/types/index.d.ts +0 -2
  590. package/dist/src/nile-file-upload/types/index.js +0 -3
  591. package/dist/src/nile-file-upload/types/index.js.map +0 -1
  592. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +0 -21
  593. package/dist/src/nile-file-upload/utils/drag-drop.util.js +0 -82
  594. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +0 -1
  595. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +0 -13
  596. package/dist/src/nile-file-upload/utils/file-validation.util.js +0 -148
  597. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +0 -1
  598. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +0 -5
  599. package/dist/src/nile-icon/icons/svg/ng-activity.js +0 -5
  600. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +0 -1
  601. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +0 -5
  602. package/dist/src/nile-icon/icons/svg/ng-align-center.js +0 -5
  603. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +0 -1
  604. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +0 -5
  605. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +0 -5
  606. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +0 -1
  607. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +0 -5
  608. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +0 -5
  609. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +0 -1
  610. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +0 -5
  611. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +0 -5
  612. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +0 -1
  613. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +0 -5
  614. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +0 -5
  615. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +0 -1
  616. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +0 -5
  617. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +0 -5
  618. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +0 -1
  619. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +0 -5
  620. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +0 -5
  621. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +0 -1
  622. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +0 -5
  623. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +0 -5
  624. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +0 -1
  625. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +0 -5
  626. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +0 -5
  627. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +0 -1
  628. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +0 -5
  629. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +0 -5
  630. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +0 -1
  631. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +0 -5
  632. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +0 -5
  633. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +0 -1
  634. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +0 -5
  635. package/dist/src/nile-icon/icons/svg/ng-calendar.js +0 -5
  636. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +0 -1
  637. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +0 -5
  638. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +0 -5
  639. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +0 -1
  640. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +0 -5
  641. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +0 -5
  642. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +0 -1
  643. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +0 -5
  644. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +0 -5
  645. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +0 -1
  646. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +0 -5
  647. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +0 -5
  648. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +0 -1
  649. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +0 -5
  650. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +0 -5
  651. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +0 -1
  652. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +0 -5
  653. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +0 -5
  654. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +0 -1
  655. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +0 -5
  656. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +0 -5
  657. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +0 -1
  658. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +0 -5
  659. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +0 -5
  660. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +0 -1
  661. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +0 -5
  662. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +0 -5
  663. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +0 -1
  664. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +0 -5
  665. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +0 -5
  666. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +0 -1
  667. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +0 -5
  668. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +0 -5
  669. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +0 -1
  670. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +0 -5
  671. package/dist/src/nile-icon/icons/svg/ng-download-01.js +0 -5
  672. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +0 -1
  673. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +0 -5
  674. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +0 -5
  675. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +0 -1
  676. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +0 -5
  677. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +0 -5
  678. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +0 -1
  679. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +0 -5
  680. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +0 -5
  681. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +0 -1
  682. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +0 -5
  683. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +0 -5
  684. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +0 -1
  685. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +0 -5
  686. package/dist/src/nile-icon/icons/svg/ng-file-02.js +0 -5
  687. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +0 -1
  688. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +0 -5
  689. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +0 -5
  690. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +0 -1
  691. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +0 -5
  692. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +0 -5
  693. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +0 -1
  694. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +0 -5
  695. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +0 -5
  696. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +0 -1
  697. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +0 -5
  698. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +0 -5
  699. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +0 -1
  700. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +0 -5
  701. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +0 -5
  702. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +0 -1
  703. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +0 -5
  704. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +0 -5
  705. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +0 -1
  706. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +0 -5
  707. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +0 -5
  708. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +0 -1
  709. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +0 -5
  710. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +0 -5
  711. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +0 -1
  712. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +0 -5
  713. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +0 -5
  714. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +0 -1
  715. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +0 -5
  716. package/dist/src/nile-icon/icons/svg/ng-list.js +0 -5
  717. package/dist/src/nile-icon/icons/svg/ng-list.js.map +0 -1
  718. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +0 -5
  719. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +0 -5
  720. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +0 -1
  721. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +0 -5
  722. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +0 -5
  723. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +0 -1
  724. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +0 -5
  725. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +0 -5
  726. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +0 -1
  727. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +0 -5
  728. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +0 -5
  729. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +0 -1
  730. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +0 -5
  731. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +0 -5
  732. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +0 -1
  733. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +0 -5
  734. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +0 -5
  735. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +0 -1
  736. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +0 -5
  737. package/dist/src/nile-icon/icons/svg/ng-plus.js +0 -5
  738. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +0 -1
  739. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +0 -5
  740. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +0 -5
  741. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +0 -1
  742. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +0 -5
  743. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +0 -5
  744. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +0 -1
  745. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +0 -5
  746. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +0 -5
  747. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +0 -1
  748. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +0 -5
  749. package/dist/src/nile-icon/icons/svg/ng-send-01.js +0 -5
  750. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +0 -1
  751. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +0 -5
  752. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +0 -5
  753. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +0 -1
  754. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +0 -5
  755. package/dist/src/nile-icon/icons/svg/ng-share-04.js +0 -5
  756. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +0 -1
  757. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +0 -5
  758. package/dist/src/nile-icon/icons/svg/ng-share-06.js +0 -5
  759. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +0 -1
  760. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +0 -5
  761. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +0 -5
  762. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +0 -1
  763. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +0 -5
  764. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +0 -5
  765. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +0 -1
  766. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +0 -5
  767. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +0 -5
  768. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +0 -1
  769. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +0 -5
  770. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +0 -5
  771. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +0 -1
  772. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +0 -5
  773. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +0 -5
  774. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +0 -1
  775. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +0 -5
  776. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +0 -5
  777. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +0 -1
  778. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +0 -5
  779. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +0 -5
  780. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +0 -1
  781. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +0 -5
  782. package/dist/src/nile-icon/icons/svg/ng-user-01.js +0 -5
  783. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +0 -1
  784. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +0 -5
  785. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +0 -5
  786. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +0 -1
  787. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +0 -5
  788. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +0 -5
  789. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +0 -1
  790. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +0 -5
  791. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +0 -5
  792. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +0 -1
  793. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +0 -5
  794. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +0 -5
  795. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +0 -1
  796. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +0 -5
  797. package/dist/src/nile-icon/icons/svg/ng-users-01.js +0 -5
  798. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +0 -1
  799. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +0 -5
  800. package/dist/src/nile-icon/icons/svg/ng-x-close.js +0 -5
  801. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +0 -1
  802. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +0 -5
  803. package/dist/src/nile-icon/icons/svg/ng-x-square.js +0 -5
  804. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +0 -1
  805. package/dist/src/nile-slider/index.d.ts +0 -1
  806. package/dist/src/nile-slider/index.js +0 -2
  807. package/dist/src/nile-slider/index.js.map +0 -1
  808. package/dist/src/nile-slider/nile-slider.css.d.ts +0 -12
  809. package/dist/src/nile-slider/nile-slider.css.js +0 -110
  810. package/dist/src/nile-slider/nile-slider.css.js.map +0 -1
  811. package/dist/src/nile-slider/nile-slider.d.ts +0 -47
  812. package/dist/src/nile-slider/nile-slider.js +0 -181
  813. package/dist/src/nile-slider/nile-slider.js.map +0 -1
  814. package/dist/src/nile-slider/nile-slider.template.d.ts +0 -5
  815. package/dist/src/nile-slider/nile-slider.template.js +0 -44
  816. package/dist/src/nile-slider/nile-slider.template.js.map +0 -1
  817. package/dist/src/nile-slider/types/nile-slider.enums.d.ts +0 -10
  818. package/dist/src/nile-slider/types/nile-slider.enums.js +0 -2
  819. package/dist/src/nile-slider/types/nile-slider.enums.js.map +0 -1
  820. package/dist/src/nile-slider/types/nile-slider.types.d.ts +0 -1
  821. package/dist/src/nile-slider/types/nile-slider.types.js +0 -2
  822. package/dist/src/nile-slider/types/nile-slider.types.js.map +0 -1
  823. package/dist/src/nile-slider/utils/nile-slider.utils.d.ts +0 -11
  824. package/dist/src/nile-slider/utils/nile-slider.utils.js +0 -86
  825. package/dist/src/nile-slider/utils/nile-slider.utils.js.map +0 -1
  826. package/src/nile-file-preview/index.ts +0 -1
  827. package/src/nile-file-preview/nile-file-preview.css.ts +0 -526
  828. package/src/nile-file-preview/nile-file-preview.template.ts +0 -243
  829. package/src/nile-file-preview/nile-file-preview.test.ts +0 -38
  830. package/src/nile-file-preview/nile-file-preview.ts +0 -171
  831. package/src/nile-file-preview/types/index.ts +0 -2
  832. package/src/nile-file-preview/types/nile-file-preview.enums.ts +0 -30
  833. package/src/nile-file-preview/types/nile-file-preview.interface.ts +0 -4
  834. package/src/nile-file-preview/utils/index.ts +0 -1
  835. package/src/nile-file-preview/utils/nile-file-preview.util.ts +0 -58
  836. package/src/nile-file-upload/index.ts +0 -1
  837. package/src/nile-file-upload/nile-file-upload.css.ts +0 -552
  838. package/src/nile-file-upload/nile-file-upload.template.ts +0 -170
  839. package/src/nile-file-upload/nile-file-upload.test.ts +0 -38
  840. package/src/nile-file-upload/nile-file-upload.ts +0 -145
  841. package/src/nile-file-upload/types/file-upload.enums.ts +0 -40
  842. package/src/nile-file-upload/types/file-upload.type.ts +0 -5
  843. package/src/nile-file-upload/types/index.ts +0 -2
  844. package/src/nile-file-upload/utils/drag-drop.util.ts +0 -106
  845. package/src/nile-file-upload/utils/file-validation.util.ts +0 -200
  846. /package/dist/{nile-file-preview → nile-pagination}/index.cjs.js.map +0 -0
@@ -1,10 +1,10 @@
1
- import { __decorate } from "tslib";
2
1
  /**
3
2
  * Copyright Aquera Inc 2025
4
3
  *
5
4
  * This source code is licensed under the BSD-3-Clause license found in the
6
5
  * LICENSE file in the root directory of this source tree.
7
6
  */
7
+ import { __decorate } from "tslib";
8
8
  import { html } from 'lit';
9
9
  import { customElement, property, query, state } from 'lit/decorators.js';
10
10
  import { styles } from './nile-pagination.css';
@@ -21,41 +21,57 @@ let NilePagination = class NilePagination extends NileElement {
21
21
  this.disabled = false;
22
22
  this.showTitle = true;
23
23
  this._pageSizeOpen = false;
24
+ this._pageOpen = false;
24
25
  }
25
26
  static get styles() {
26
27
  return [styles];
27
28
  }
28
29
  firstUpdated() {
29
- this._pageSizeDropdown.addEventListener('nile-show', () => {
30
- this._pageSizeOpen = true;
31
- });
32
- this._pageSizeDropdown.addEventListener('nile-after-hide', () => {
33
- this._pageSizeOpen = false;
34
- });
30
+ if (this._pageSizeDropdown) {
31
+ this._pageSizeDropdown.addEventListener('nile-show', () => {
32
+ this._pageSizeOpen = true;
33
+ });
34
+ this._pageSizeDropdown.addEventListener('nile-after-hide', () => {
35
+ this._pageSizeOpen = false;
36
+ });
37
+ }
35
38
  }
36
39
  get totalPages() {
37
40
  return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));
38
41
  }
39
- goToPage(page) {
42
+ goToPage(newPage) {
40
43
  if (this.disabled)
41
44
  return;
42
- this.currentPage = page;
43
- this.emit('nile-change', { page: this.currentPage, pageSize: this.pageSize });
45
+ const previousPage = this.currentPage;
46
+ this.currentPage = newPage;
47
+ this.emit('nile-change', { page: newPage, previousPage, pageSize: this.pageSize });
44
48
  }
45
- onPageSizeSelect(size) {
46
- if (this.disabled || this.pageSize === size)
49
+ onPageSizeSelect(newSize) {
50
+ if (this.disabled || this.pageSize === newSize)
47
51
  return;
48
- this.pageSize = size;
52
+ const previousPage = this.currentPage;
53
+ this.pageSize = newSize;
49
54
  this.currentPage = 1;
50
- this.emit('nile-change', { page: 1, pageSize: size });
55
+ this.emit('nile-change', {
56
+ page: 1,
57
+ previousPage,
58
+ pageSize: newSize
59
+ });
60
+ }
61
+ renderCompactRangeText() {
62
+ const full = getRangeText(this.totalItems, this.pageSize, this.currentPage);
63
+ const trimmed = full.replace(/^Showing\s*/, '');
64
+ return html `<div class="range-text">${trimmed}</div>`;
51
65
  }
52
66
  renderRangeText() {
53
67
  if (this.totalItems === 0) {
54
68
  return html `<div class="range-text">Showing 0 of 0</div>`;
55
69
  }
56
- return html `<div class="range-text">
57
- ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}
58
- </div>`;
70
+ return html `
71
+ <div part="range-text" class="range-text">
72
+ ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}
73
+ </div>
74
+ `;
59
75
  }
60
76
  renderPageSizeSelect() {
61
77
  if (this.variant !== 'fluid')
@@ -63,24 +79,72 @@ let NilePagination = class NilePagination extends NileElement {
63
79
  return html `
64
80
  <div class="page-size-select">
65
81
  <nile-dropdown class="page-size-dropdown" ?disabled=${this.disabled}>
66
- <nile-button slot="trigger" variant="tertiary" class="down ${this._pageSizeOpen ? 'open' : ''}"
82
+ <nile-button
83
+ slot="trigger"
84
+ variant="tertiary"
85
+ class="down ${this._pageSizeOpen ? 'open' : ''}"
67
86
  ?disabled=${this.disabled}
68
87
  >
69
88
  ${this.pageSize}
70
- <nile-icon name="chevrondown" size="14" color="var(--nile-colors-dark-500)" class="chevron"></nile-icon>
89
+ <nile-icon
90
+ name="chevrondown"
91
+ size="14"
92
+ color="var(--nile-colors-dark-500)"
93
+ class="chevron"
94
+ ></nile-icon>
71
95
  </nile-button>
72
- <nile-menu class="page-size-menu">
96
+ <nile-menu>
97
+ <div class="down-scroll-wrapper">
98
+ ${this.pageSizeOptions.map(size => html `
99
+ <nile-menu-item
100
+ ?disabled=${this.disabled}
101
+ @click=${() => this.onPageSizeSelect(size)}
102
+ >
103
+ ${size}
104
+ </nile-menu-item>
105
+ `)}
106
+ </div>
107
+ </nile-menu>
108
+ </nile-dropdown>
109
+ <span part="pagesize-label" class="page-size-label">Items per page</span>
110
+ </div>
111
+ `;
112
+ }
113
+ renderCompactPageSize() {
114
+ return html `
115
+ <nile-dropdown
116
+ class="compact-dropdown"
117
+ ?disabled=${this.disabled}
118
+ @nile-show=${() => (this._pageSizeOpen = true)}
119
+ @nile-after-hide=${() => (this._pageSizeOpen = false)}
120
+ >
121
+ <nile-button
122
+ slot="trigger"
123
+ variant="tertiary"
124
+ class="down ${this._pageSizeOpen ? 'open' : ''}"
125
+ ?disabled=${this.disabled}
126
+ >
127
+ ${this.pageSize}
128
+ <nile-icon
129
+ name="chevrondown"
130
+ size="14"
131
+ color="var(--nile-colors-dark-500)"
132
+ class="chevron"
133
+ ></nile-icon>
134
+ </nile-button>
135
+ <nile-menu>
136
+ <div class="compact-scroll-wrapper">
73
137
  ${this.pageSizeOptions.map(size => html `
74
138
  <nile-menu-item
75
139
  ?disabled=${this.disabled}
76
140
  @click=${() => this.onPageSizeSelect(size)}
77
141
  >
78
142
  ${size}
79
- </nile-menu-item>`)}
80
- </nile-menu>
81
- </nile-dropdown>
82
- <span class="page-size-label">Items per page</span>
83
- </div>
143
+ </nile-menu-item>
144
+ `)}
145
+ </div>
146
+ </nile-menu>
147
+ </nile-dropdown>
84
148
  `;
85
149
  }
86
150
  renderPrevButton() {
@@ -125,7 +189,8 @@ let NilePagination = class NilePagination extends NileElement {
125
189
  @click=${() => this.goToPage(page)}
126
190
  >
127
191
  ${page}
128
- </nile-menu-item>`)}
192
+ </nile-menu-item>
193
+ `)}
129
194
  </div>
130
195
  </nile-menu>
131
196
  </nile-dropdown>
@@ -145,10 +210,54 @@ let NilePagination = class NilePagination extends NileElement {
145
210
  `;
146
211
  }
147
212
  renderPageList() {
213
+ if (this.variant === 'compact') {
214
+ return html `
215
+ <nav aria-label="Pagination">
216
+ <ul class="pagination compact-pagination">
217
+ ${this.renderPrevButton()}
218
+ <li>
219
+ <nile-dropdown
220
+ class="compact-dropdown1"
221
+ ?disabled=${this.disabled}
222
+ @nile-show=${() => (this._pageOpen = true)}
223
+ @nile-after-hide=${() => (this._pageOpen = false)}
224
+ >
225
+ <nile-button
226
+ slot="trigger"
227
+ variant="tertiary"
228
+ class="current-page-btn ${this._pageOpen ? 'open' : ''}"
229
+ ?disabled=${this.disabled}
230
+ >
231
+ ${this.currentPage}
232
+ <nile-icon
233
+ name="chevrondown"
234
+ size="14"
235
+ class="chevron"
236
+ ></nile-icon>
237
+ </nile-button>
238
+ <nile-menu>
239
+ <div class="compact-scroll-wrapper1">
240
+ ${Array.from({ length: this.totalPages }, (_, i) => i + 1).map(p => html `
241
+ <nile-menu-item
242
+ ?disabled=${this.disabled}
243
+ @click=${() => this.goToPage(p)}
244
+ >
245
+ ${p}
246
+ </nile-menu-item>
247
+ `)}
248
+ </div>
249
+ </nile-menu>
250
+ </nile-dropdown>
251
+ </li>
252
+ ${this.renderNextButton()}
253
+ </ul>
254
+ </nav>
255
+ `;
256
+ }
148
257
  const items = getPaginationItems(this.totalPages, this.currentPage);
149
258
  return html `
150
259
  <nav aria-label="Pagination">
151
- <ul class="pagination">
260
+ <ul part="page-list" class="pagination">
152
261
  ${this.renderPrevButton()}
153
262
  ${items.map((item, idx) => this.renderPageItem(item, idx, items))}
154
263
  ${this.renderNextButton()}
@@ -158,33 +267,48 @@ let NilePagination = class NilePagination extends NileElement {
158
267
  }
159
268
  render() {
160
269
  return html `
161
- <div class="pagination-wrapper ${this.variant}">
162
- <div class="pager-container">
163
- ${this.showTitle ? this.renderRangeText() : null}
164
- ${this.renderPageSizeSelect()}
165
- </div>
166
- ${this.renderPageList()}
270
+ <div part="wrapper" class="pagination-wrapper ${this.variant}">
271
+ <div part="pager-container" class="pager-container">
272
+ ${this.variant === 'fluid' && this.showTitle
273
+ ? this.renderRangeText()
274
+ : this.variant === 'compact'
275
+ ? this.renderCompactRangeText()
276
+ : null}
277
+ ${this.variant === 'fluid'
278
+ ? this.renderPageSizeSelect()
279
+ : this.renderCompactPageSize()}
167
280
  </div>
168
- `;
281
+ ${this.renderPageList()}
282
+ </div>
283
+ `;
169
284
  }
170
285
  };
171
286
  __decorate([
172
- property({ attribute: 'totalitems', reflect: true, converter: { fromAttribute: (v) => {
287
+ property({ attribute: 'totalitems', reflect: true, converter: {
288
+ fromAttribute: (v) => {
173
289
  const n = Number(v);
174
290
  return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0;
175
- } } })
291
+ },
292
+ },
293
+ })
176
294
  ], NilePagination.prototype, "totalItems", void 0);
177
295
  __decorate([
178
- property({ attribute: 'currentpage', reflect: true, converter: { fromAttribute: (v) => {
296
+ property({ attribute: 'currentpage', reflect: true, converter: {
297
+ fromAttribute: (v) => {
179
298
  const n = Number(v);
180
299
  return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;
181
- } } })
300
+ },
301
+ },
302
+ })
182
303
  ], NilePagination.prototype, "currentPage", void 0);
183
304
  __decorate([
184
- property({ attribute: 'pagesize', reflect: true, converter: { fromAttribute: (v) => {
305
+ property({ attribute: 'pagesize', reflect: true, converter: {
306
+ fromAttribute: (v) => {
185
307
  const n = Number(v);
186
308
  return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;
187
- } } })
309
+ },
310
+ },
311
+ })
188
312
  ], NilePagination.prototype, "pageSize", void 0);
189
313
  __decorate([
190
314
  property({ attribute: 'pagesizeoptions', reflect: false, converter: { fromAttribute: (v) => {
@@ -210,6 +334,9 @@ __decorate([
210
334
  __decorate([
211
335
  state()
212
336
  ], NilePagination.prototype, "_pageSizeOpen", void 0);
337
+ __decorate([
338
+ state()
339
+ ], NilePagination.prototype, "_pageOpen", void 0);
213
340
  __decorate([
214
341
  query('.page-size-dropdown')
215
342
  ], NilePagination.prototype, "_pageSizeDropdown", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-pagination.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.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 */\nimport { LitElement, html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-pagination.css';\nimport NileElement from '../internal/nile-element';\nimport {\n calculateTotalPages,\n getPaginationItems,\n getHiddenPages,\n getRangeText,\n} from './nile-pagination-utils';\n\n@customElement('nile-pagination')\nexport class NilePagination extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n \n @property({attribute: 'totalitems',reflect: true, converter: { fromAttribute: (v: string) => {const n = Number(v);\n return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0; }}})totalItems: number = 0;\n\n @property({ attribute: 'currentpage',reflect: true,converter: { fromAttribute: (v: string) => { const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;}}}) currentPage : number = 1;\n\n\n @property({attribute: 'pagesize',reflect: true, converter: { fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;}}}) pageSize: number = 50;\n\n\n @property({ attribute: 'pagesizeoptions', reflect: false,converter: { fromAttribute: (v: string) => { try { const arr = JSON.parse(v);\n if (Array.isArray(arr) && arr.every(x => typeof x === 'number')) {\n return arr as number[];\n }\n } catch {}return [10, 25, 50, 100];}}}) pageSizeOptions: number[] = [10, 25, 50, 100];\n\n @property({ type: String }) variant: 'fluid' | 'compact' = 'fluid';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n\n @state() private _pageSizeOpen = false;\n @query('.page-size-dropdown') private _pageSizeDropdown!: HTMLElement;\n\n firstUpdated() {\n this._pageSizeDropdown.addEventListener('nile-show', () => {\n this._pageSizeOpen = true;\n });\n this._pageSizeDropdown.addEventListener('nile-after-hide', () => {\n this._pageSizeOpen = false;\n });\n }\n \n private get totalPages(): number {\n return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));\n }\n\n private goToPage(page: number) {\n if (this.disabled) return;\n this.currentPage = page; \n this.emit('nile-change', { page: this.currentPage, pageSize: this.pageSize });\n }\n\n private onPageSizeSelect(size: number) {\n if (this.disabled || this.pageSize === size) return;\n this.pageSize = size;\n this.currentPage = 1;\n this.emit('nile-change', { page: 1, pageSize: size });\n }\n\n private renderRangeText(): TemplateResult {\n if (this.totalItems === 0) {\n return html`<div class=\"range-text\">Showing 0 of 0</div>`;\n }\n return html`<div class=\"range-text\">\n ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}\n </div>`;\n }\n\n private renderPageSizeSelect(): TemplateResult | null {\n if (this.variant !== 'fluid') return null;\n return html`\n <div class=\"page-size-select\">\n <nile-dropdown class=\"page-size-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"tertiary\" class=\"down ${this._pageSizeOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.pageSize}\n <nile-icon name=\"chevrondown\" size=\"14\" color=\"var(--nile-colors-dark-500)\" class=\"chevron\"></nile-icon>\n </nile-button>\n <nile-menu class=\"page-size-menu\">\n ${this.pageSizeOptions.map(\n size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>`\n )}\n </nile-menu>\n </nile-dropdown>\n <span class=\"page-size-label\">Items per page</span>\n </div>\n `;\n }\n\n private renderPrevButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === 1 || this.disabled}\n @click=${() => this.goToPage(this.currentPage - 1)}\n >\n <nile-icon name=\"arrowleft\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderNextButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === this.totalPages || this.disabled}\n @click=${() => this.goToPage(this.currentPage + 1)}\n >\n <nile-icon name=\"arrowright\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderPageItem(\n item: number | string,\n idx: number,\n items: (number | string)[]\n ): TemplateResult {\n if (item === '…') {\n return html`\n <li>\n <nile-dropdown class=\"ellipsis-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"ghost\" ?disabled=${this.disabled}>\n …\n </nile-button>\n <nile-menu>\n <div class=\"ellipsis-scroll-wrapper\">\n ${getHiddenPages(\n this.totalPages,\n items,\n this.currentPage,\n idx < items.indexOf(this.currentPage) ? 'left' : 'right'\n ).map(\n page => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(page)}\n >\n ${page}\n </nile-menu-item>`\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n `;\n }\n\n return html`\n <li>\n <nile-button\n variant=${item === this.currentPage ? 'primary' : 'ghost'}\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(item as number)}\n >\n ${item}\n </nile-button>\n </li>\n `;\n }\n\n private renderPageList(): TemplateResult {\n const items = getPaginationItems(this.totalPages, this.currentPage);\n return html`\n <nav aria-label=\"Pagination\">\n <ul class=\"pagination\">\n ${this.renderPrevButton()}\n ${items.map((item, idx) => this.renderPageItem(item, idx, items))}\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"pagination-wrapper ${this.variant}\">\n <div class=\"pager-container\">\n ${this.showTitle ? this.renderRangeText() : null}\n ${this.renderPageSizeSelect()}\n </div>\n ${this.renderPageList()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-pagination': NilePagination;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-pagination.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.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 { LitElement, html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-pagination.css';\nimport NileElement from '../internal/nile-element';\nimport {\n calculateTotalPages,\n getPaginationItems,\n getHiddenPages,\n getRangeText,\n} from './nile-pagination-utils';\n\n@customElement('nile-pagination')\nexport class NilePagination extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({attribute: 'totalitems',reflect: true,converter: {\n fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0;\n },\n },\n })totalItems: number = 0;\n\n @property({attribute: 'currentpage', reflect: true, converter: {\n fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;\n },\n },\n })currentPage: number = 1;\n\n @property({attribute: 'pagesize',reflect: true,converter: {\n fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;\n },\n },\n })pageSize: number = 50;\n\n @property({ attribute: 'pagesizeoptions', reflect: false, converter: { fromAttribute: (v: string) => {\n try {\n const arr = JSON.parse(v);\n if (Array.isArray(arr) && arr.every(x => typeof x === 'number')) {\n return arr as number[];\n }\n } catch {}\n return [10, 25, 50, 100];\n }}})\n pageSizeOptions: number[] = [10, 25, 50, 100];\n\n @property({ type: String })variant: 'fluid' | 'compact' = 'fluid';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n\n @state() private _pageSizeOpen = false;\n @state() private _pageOpen = false;\n @query('.page-size-dropdown') private _pageSizeDropdown!: HTMLElement;\n\n firstUpdated() {\n if (this._pageSizeDropdown) { \n this._pageSizeDropdown.addEventListener('nile-show', () => {\n this._pageSizeOpen = true;\n });\n this._pageSizeDropdown.addEventListener('nile-after-hide', () => {\n this._pageSizeOpen = false;\n });\n }\n }\n\n private get totalPages(): number {\n return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));\n }\n\n private goToPage(newPage: number) {\n \n if (this.disabled) return;\n const previousPage = this.currentPage;\n this.currentPage = newPage;\n this.emit('nile-change', { page: newPage, previousPage, pageSize: this.pageSize });\n }\n\n private onPageSizeSelect(newSize: number) {\n if (this.disabled || this.pageSize === newSize) return;\n\n const previousPage = this.currentPage;\n this.pageSize = newSize;\n this.currentPage = 1;\n this.emit('nile-change', {\n page: 1,\n previousPage,\n pageSize: newSize\n });\n}\n\nprivate renderCompactRangeText(): TemplateResult {\n const full = getRangeText(this.totalItems, this.pageSize, this.currentPage);\n const trimmed = full.replace(/^Showing\\s*/, ''); \n return html`<div class=\"range-text\">${trimmed}</div>`;\n}\n\n\n private renderRangeText(): TemplateResult {\n if (this.totalItems === 0) {\n return html`<div class=\"range-text\">Showing 0 of 0</div>`;\n }\n return html`\n <div part=\"range-text\" class=\"range-text\">\n ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}\n </div>\n `;\n }\n\n private renderPageSizeSelect(): TemplateResult | null {\n if (this.variant !== 'fluid') return null;\n return html`\n <div class=\"page-size-select\">\n <nile-dropdown class=\"page-size-dropdown\" ?disabled=${this.disabled}>\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"down ${this._pageSizeOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.pageSize}\n <nile-icon\n name=\"chevrondown\"\n size=\"14\"\n color=\"var(--nile-colors-dark-500)\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"down-scroll-wrapper\">\n ${this.pageSizeOptions.map(\n size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n <span part=\"pagesize-label\" class=\"page-size-label\">Items per page</span>\n </div>\n `;\n }\n\n\n private renderCompactPageSize(): TemplateResult {\n return html`\n <nile-dropdown\n class=\"compact-dropdown\"\n ?disabled=${this.disabled}\n @nile-show=${() => (this._pageSizeOpen = true)}\n @nile-after-hide=${() => (this._pageSizeOpen = false)}\n >\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"down ${this._pageSizeOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.pageSize}\n <nile-icon\n name=\"chevrondown\"\n size=\"14\"\n color=\"var(--nile-colors-dark-500)\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"compact-scroll-wrapper\">\n ${this.pageSizeOptions.map(\n size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n `;\n }\n \n\n private renderPrevButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === 1 || this.disabled}\n @click=${() => this.goToPage(this.currentPage - 1)}\n >\n <nile-icon name=\"arrowleft\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderNextButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === this.totalPages || this.disabled}\n @click=${() => this.goToPage(this.currentPage + 1)}\n >\n <nile-icon name=\"arrowright\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderPageItem(\n item: number | string,\n idx: number,\n items: (number | string)[]\n ): TemplateResult {\n if (item === '…') {\n return html`\n <li>\n <nile-dropdown class=\"ellipsis-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"ghost\" ?disabled=${this.disabled}>\n …\n </nile-button>\n <nile-menu>\n <div class=\"ellipsis-scroll-wrapper\">\n ${getHiddenPages(\n this.totalPages,\n items,\n this.currentPage,\n idx < items.indexOf(this.currentPage) ? 'left' : 'right'\n ).map(\n page => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(page)}\n >\n ${page}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n `;\n }\n return html`\n <li>\n <nile-button\n variant=${item === this.currentPage ? 'primary' : 'ghost'}\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(item as number)}\n >\n ${item}\n </nile-button>\n </li>\n `;\n }\n\n private renderPageList(): TemplateResult {\n if (this.variant === 'compact') {\n return html`\n <nav aria-label=\"Pagination\">\n <ul class=\"pagination compact-pagination\">\n ${this.renderPrevButton()}\n <li>\n <nile-dropdown\n class=\"compact-dropdown1\"\n ?disabled=${this.disabled}\n @nile-show=${() => (this._pageOpen = true)}\n @nile-after-hide=${() => (this._pageOpen = false)}\n >\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"current-page-btn ${this._pageOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.currentPage}\n <nile-icon\n name=\"chevrondown\"\n size=\"14\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"compact-scroll-wrapper1\">\n ${Array.from({ length: this.totalPages }, (_, i) => i + 1).map(\n p => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(p)}\n >\n ${p}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n const items = getPaginationItems(this.totalPages, this.currentPage);\n return html`\n <nav aria-label=\"Pagination\">\n <ul part=\"page-list\" class=\"pagination\">\n ${this.renderPrevButton()}\n ${items.map((item, idx) => this.renderPageItem(item, idx, items))}\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"wrapper\" class=\"pagination-wrapper ${this.variant}\">\n <div part=\"pager-container\" class=\"pager-container\">\n ${this.variant === 'fluid' && this.showTitle\n ? this.renderRangeText()\n : this.variant === 'compact'\n ? this.renderCompactRangeText()\n : null}\n ${this.variant === 'fluid'\n ? this.renderPageSizeSelect()\n : this.renderCompactPageSize()}\n </div>\n ${this.renderPageList()}\n </div>\n `;\n}\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-pagination': NilePagination;\n }\n}\n"]}
@@ -133,8 +133,27 @@ let NilePopup = class NilePopup extends NileElement {
133
133
  if (this.anchorEl instanceof HTMLSlotElement) {
134
134
  this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0];
135
135
  }
136
+ /**
137
+ * NOTE TO DEVELOPERS:
138
+ * The anchor element is essential for nile-popup to function correctly.
139
+ * This error was thrown when an anchor (slot="anchor") or anchor reference was not found.
140
+ *
141
+ * In many places, developers are using *ngIf or similar conditional rendering directly on the anchor slot
142
+ * inside <nile-tooltip>, which removes the anchor from the DOM.
143
+ * As a result, the tooltip remains but cannot be anchored — leading to this error.
144
+ *
145
+ * Suggested Fixes:
146
+ * - Move *ngIf to a wrapper above <nile-tooltip>
147
+ * - OR use the 'disabled' property of nile-tooltip to prevent it from activating without anchor
148
+ *
149
+ * For now, this error is commented out to avoid runtime crashes.
150
+ * Proper usage patterns should be followed instead.
151
+ */
136
152
  if (!this.anchorEl) {
137
- throw new Error('Invalid anchor element: no anchor could be found using the anchor slot or the anchor attribute.');
153
+ // throw new Error(
154
+ // 'Invalid anchor element: no anchor could be found using the anchor slot or the anchor attribute.'
155
+ // );
156
+ return;
138
157
  }
139
158
  this.start();
140
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-popup.js","sourceRoot":"","sources":["../../../src/nile-popup/nile-popup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, CSSResultArray, TemplateResult} from 'lit';\nimport { arrow, autoUpdate, computePosition, flip, offset, platform, shift, size } from '@floating-ui/dom';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { html } from 'lit';\nimport { offsetParent } from 'composed-offset-position';\nimport NileElement from '../internal/nile-element';\nimport {styles} from './nile-popup.css';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * Nile icon component.\n *\n * @tag nile-popup\n *\n */\n@customElement('nile-popup')\nexport class NilePopup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private anchorEl: Element | null;\n private cleanup: ReturnType<typeof autoUpdate> | undefined;\n\n /** A reference to the internal popup container. Useful for animating and styling the popup with JavaScript. */\n @query('.popup') popup: HTMLElement;\n @query('.popup__arrow') private arrowEl: HTMLElement;\n\n /**\n * The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide its `id` or a\n * reference to it here. If the anchor lives inside the popup, use the `anchor` slot instead.\n */\n @property() anchor: Element | string;\n\n /**\n * Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\n * down and the popup will be hidden.\n */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /**\n * The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\n * panel inside of the viewport.\n */\n @property({ reflect: true }) placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /**\n * Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\n * clipped, using a `fixed` position strategy can often workaround it.\n */\n @property({ reflect: true }) strategy: 'absolute' | 'fixed' = 'absolute';\n\n /** The distance in pixels from which to offset the panel away from its anchor. */\n @property({ type: Number }) distance = 0;\n\n /** The distance in pixels from which to offset the panel along its anchor. */\n @property({ type: Number }) skidding = 0;\n\n /**\n * Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n * `--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n * `::part(arrow)` in your stylesheet.\n */\n @property({ type: Boolean }) arrow = false;\n\n /**\n * The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\n * anchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\n * align the arrow to the start, end, or center of the popover instead.\n */\n @property({ attribute: 'arrow-placement' }) arrowPlacement: 'start' | 'end' | 'center' | 'anchor' = 'anchor';\n\n /**\n * The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\n * this will prevent it from overflowing the corners.\n */\n @property({ attribute: 'arrow-padding', type: Number }) arrowPadding = 10;\n\n /**\n * When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n * `flipFallbackPlacements` to further configure how the fallback placement is determined.\n */\n @property({ type: Boolean }) flip = false;\n\n /**\n * If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\n * string of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\n * fallback strategy will be used instead.\n * */\n @property({\n attribute: 'flip-fallback-placements',\n converter: {\n fromAttribute: (value: string) => {\n return value\n .split(' ')\n .map(p => p.trim())\n .filter(p => p !== '');\n },\n toAttribute: (value: []) => {\n return value.join(' ');\n }\n }\n })\n flipFallbackPlacements = '';\n\n /**\n * When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\n * the popup should be positioned using the best available fit based on available space or as it was initially\n * preferred.\n */\n @property({ attribute: 'flip-fallback-strategy' }) flipFallbackStrategy: 'best-fit' | 'initial' = 'best-fit';\n\n /**\n * The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\n * default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\n * change the boundary by passing a reference to one or more elements to this property.\n */\n @property({ type: Object }) flipBoundary: Element | Element[];\n\n /** The amount of padding, in pixels, to exceed before the flip behavior will occur. */\n @property({ attribute: 'flip-padding', type: Number }) flipPadding = 0;\n\n /** Moves the popup along the axis to keep it in view when clipped. */\n @property({ type: Boolean }) shift = false;\n\n /**\n * The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\n * default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\n * change the boundary by passing a reference to one or more elements to this property.\n */\n @property({ type: Object }) shiftBoundary: Element | Element[];\n\n /** The amount of padding, in pixels, to exceed before the shift behavior will occur. */\n @property({ attribute: 'shift-padding', type: Number }) shiftPadding = 0;\n\n /** When set, this will cause the popup to automatically resize itself to prevent it from overflowing. */\n @property({ attribute: 'auto-size' }) autoSize: 'horizontal' | 'vertical' | 'both';\n\n /** Syncs the popup's width or height to that of the anchor element. */\n @property() sync: 'width' | 'height' | 'both';\n\n /**\n * The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\n * default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\n * change the boundary by passing a reference to one or more elements to this property.\n */\n @property({ type: Object }) autoSizeBoundary: Element | Element[];\n\n /** The amount of padding, in pixels, to exceed before the auto-size behavior will occur. */\n @property({ attribute: 'auto-size-padding', type: Number }) autoSizePadding = 0;\n\n async connectedCallback() {\n super.connectedCallback();\n\n // Start the positioner after the first update\n await this.updateComplete;\n this.start();\n }\n\n disconnectedCallback() {\n this.stop();\n }\n\n async updated(changedProps: Map<string, unknown>) {\n super.updated(changedProps);\n\n // Start or stop the positioner when active changes\n if (changedProps.has('active')) {\n if (this.active) {\n this.start();\n } else {\n this.stop();\n }\n }\n\n // Update the anchor when anchor changes\n if (changedProps.has('anchor')) {\n this.handleAnchorChange();\n }\n\n // All other properties will trigger a reposition when active\n if (this.active) {\n await this.updateComplete;\n this.reposition();\n }\n }\n\n private async handleAnchorChange() {\n await this.stop();\n\n if (this.anchor && typeof this.anchor === 'string') {\n // Locate the anchor by id\n const root = this.getRootNode() as Document | ShadowRoot;\n this.anchorEl = root.getElementById(this.anchor);\n } else if (this.anchor instanceof Element) {\n // Use the anchor's reference\n this.anchorEl = this.anchor;\n } else {\n // Look for a slotted anchor\n this.anchorEl = this.querySelector<HTMLElement>('[slot=\"anchor\"]');\n }\n\n // If the anchor is a <slot>, we'll use the first assigned element as the target since slots use `display: contents`\n // and positioning can't be calculated on them\n if (this.anchorEl instanceof HTMLSlotElement) {\n this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0] as HTMLElement;\n }\n\n if (!this.anchorEl) {\n throw new Error(\n 'Invalid anchor element: no anchor could be found using the anchor slot or the anchor attribute.'\n );\n }\n\n this.start();\n }\n\n private start() {\n // We can't start the positioner without an anchor\n if (!this.anchorEl) {\n return;\n }\n\n this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {\n this.reposition();\n });\n }\n\n private async stop(): Promise<void> {\n return new Promise(resolve => {\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = undefined;\n this.removeAttribute('data-current-placement');\n this.style.removeProperty('--auto-size-available-width');\n this.style.removeProperty('--auto-size-available-height');\n requestAnimationFrame(() => resolve());\n } else {\n resolve();\n }\n });\n }\n\n /** Forces the popup to recalculate and reposition itself. */\n reposition() {\n // Nothing to do if the popup is inactive or the anchor doesn't exist\n if (!this.active || !this.anchorEl) {\n return;\n }\n\n //\n // NOTE: Floating UI middlewares are order dependent: https://floating-ui.com/docs/middleware\n //\n const middleware = [\n // The offset middleware goes first\n offset({ mainAxis: this.distance, crossAxis: this.skidding })\n ];\n\n // First we sync width/height\n if (this.sync) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n const syncWidth = this.sync === 'width' || this.sync === 'both';\n const syncHeight = this.sync === 'height' || this.sync === 'both';\n this.popup.style.width = syncWidth ? `${rects.reference.width}px` : '';\n this.popup.style.height = syncHeight ? `${rects.reference.height}px` : '';\n }\n })\n );\n } else {\n // Cleanup styles if we're not matching width/height\n this.popup.style.width = '';\n this.popup.style.height = '';\n }\n\n // Then we flip\n if (this.flip) {\n middleware.push(\n flip({\n boundary: this.flipBoundary,\n // @ts-expect-error - We're converting a string attribute to an array here\n fallbackPlacements: this.flipFallbackPlacements,\n fallbackStrategy: this.flipFallbackStrategy === 'best-fit' ? 'bestFit' : 'initialPlacement',\n padding: this.flipPadding\n })\n );\n }\n\n // Then we shift\n if (this.shift) {\n middleware.push(\n shift({\n boundary: this.shiftBoundary,\n padding: this.shiftPadding\n })\n );\n }\n\n // Now we adjust the size as needed\n if (this.autoSize) {\n middleware.push(\n size({\n boundary: this.autoSizeBoundary,\n padding: this.autoSizePadding,\n apply: ({ availableWidth, availableHeight }) => {\n if (this.autoSize === 'vertical' || this.autoSize === 'both') {\n this.style.setProperty('--auto-size-available-height', `${availableHeight}px`);\n } else {\n this.style.removeProperty('--auto-size-available-height');\n }\n\n if (this.autoSize === 'horizontal' || this.autoSize === 'both') {\n this.style.setProperty('--auto-size-available-width', `${availableWidth}px`);\n } else {\n this.style.removeProperty('--auto-size-available-width');\n }\n }\n })\n );\n } else {\n // Cleanup styles if we're no longer using auto-size\n this.style.removeProperty('--auto-size-available-width');\n this.style.removeProperty('--auto-size-available-height');\n }\n\n // Finally, we add an arrow\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrowEl,\n padding: this.arrowPadding\n })\n );\n }\n\n //\n // Use custom positioning logic if the strategy is absolute. Otherwise, fall back to the default logic.\n //\n //\n const getOffsetParent =\n this.strategy === 'absolute'\n ? (element: Element) => platform.getOffsetParent(element, offsetParent)\n : platform.getOffsetParent;\n\n computePosition(this.anchorEl, this.popup, {\n placement: this.placement,\n middleware,\n strategy: this.strategy,\n platform: {\n ...platform,\n getOffsetParent\n }\n }).then(({ x, y, middlewareData, placement }) => {\n //\n // Even though we have our own localization utility, it uses different heuristics to determine RTL. Because of\n // that, we'll use the same approach that Floating UI uses.\n //\n // Source: https://github.com/floating-ui/floating-ui/blob/cb3b6ab07f95275730d3e6e46c702f8d4908b55c/packages/dom/src/utils/getDocumentRect.ts#L31\n //\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const staticSide = { top: 'bottom', right: 'left', bottom: 'top', left: 'right' }[placement.split('-')[0]]!;\n\n this.setAttribute('data-current-placement', placement);\n\n Object.assign(this.popup.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n\n if (this.arrow) {\n const arrowX = middlewareData.arrow!.x;\n const arrowY = middlewareData.arrow!.y;\n let top = '';\n let right = '';\n let bottom = '';\n let left = '';\n\n if (this.arrowPlacement === 'start') {\n // Start\n const value = typeof arrowX === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n top = typeof arrowY === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n right = isRtl ? value : '';\n left = isRtl ? '' : value;\n } else if (this.arrowPlacement === 'end') {\n // End\n const value = typeof arrowX === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n right = isRtl ? '' : value;\n left = isRtl ? value : '';\n bottom = typeof arrowY === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n } else if (this.arrowPlacement === 'center') {\n // Center\n left = typeof arrowX === 'number' ? `calc(50% - var(--arrow-size-diagonal))` : '';\n top = typeof arrowY === 'number' ? `calc(50% - var(--arrow-size-diagonal))` : '';\n } else {\n // Anchor (default)\n left = typeof arrowX === 'number' ? `${arrowX}px` : '';\n top = typeof arrowY === 'number' ? `${arrowY}px` : '';\n }\n\n Object.assign(this.arrowEl.style, {\n top,\n right,\n bottom,\n left,\n [staticSide]: 'calc(var(--arrow-size-diagonal) * -1)'\n });\n }\n });\n\n this.emit('reposition');\n }\n\n render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n <div\n part=\"popup\"\n class=${classMap({\n popup: true,\n 'popup--active': this.active,\n 'popup--fixed': this.strategy === 'fixed',\n 'popup--has-arrow': this.arrow\n })}\n >\n <slot></slot>\n ${this.arrow ? html`<div part=\"arrow\" class=\"popup__arrow\" role=\"presentation\"></div>` : ''}\n </div>\n `;\n }\n}\n\nexport default NilePopup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-popup': NilePopup;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-popup.js","sourceRoot":"","sources":["../../../src/nile-popup/nile-popup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, CSSResultArray, TemplateResult} from 'lit';\nimport { arrow, autoUpdate, computePosition, flip, offset, platform, shift, size } from '@floating-ui/dom';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { html } from 'lit';\nimport { offsetParent } from 'composed-offset-position';\nimport NileElement from '../internal/nile-element';\nimport {styles} from './nile-popup.css';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * Nile icon component.\n *\n * @tag nile-popup\n *\n */\n@customElement('nile-popup')\nexport class NilePopup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private anchorEl: Element | null;\n private cleanup: ReturnType<typeof autoUpdate> | undefined;\n\n /** A reference to the internal popup container. Useful for animating and styling the popup with JavaScript. */\n @query('.popup') popup: HTMLElement;\n @query('.popup__arrow') private arrowEl: HTMLElement;\n\n /**\n * The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide its `id` or a\n * reference to it here. If the anchor lives inside the popup, use the `anchor` slot instead.\n */\n @property() anchor: Element | string;\n\n /**\n * Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\n * down and the popup will be hidden.\n */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /**\n * The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\n * panel inside of the viewport.\n */\n @property({ reflect: true }) placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /**\n * Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\n * clipped, using a `fixed` position strategy can often workaround it.\n */\n @property({ reflect: true }) strategy: 'absolute' | 'fixed' = 'absolute';\n\n /** The distance in pixels from which to offset the panel away from its anchor. */\n @property({ type: Number }) distance = 0;\n\n /** The distance in pixels from which to offset the panel along its anchor. */\n @property({ type: Number }) skidding = 0;\n\n /**\n * Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n * `--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n * `::part(arrow)` in your stylesheet.\n */\n @property({ type: Boolean }) arrow = false;\n\n /**\n * The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\n * anchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\n * align the arrow to the start, end, or center of the popover instead.\n */\n @property({ attribute: 'arrow-placement' }) arrowPlacement: 'start' | 'end' | 'center' | 'anchor' = 'anchor';\n\n /**\n * The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\n * this will prevent it from overflowing the corners.\n */\n @property({ attribute: 'arrow-padding', type: Number }) arrowPadding = 10;\n\n /**\n * When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n * `flipFallbackPlacements` to further configure how the fallback placement is determined.\n */\n @property({ type: Boolean }) flip = false;\n\n /**\n * If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\n * string of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\n * fallback strategy will be used instead.\n * */\n @property({\n attribute: 'flip-fallback-placements',\n converter: {\n fromAttribute: (value: string) => {\n return value\n .split(' ')\n .map(p => p.trim())\n .filter(p => p !== '');\n },\n toAttribute: (value: []) => {\n return value.join(' ');\n }\n }\n })\n flipFallbackPlacements = '';\n\n /**\n * When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\n * the popup should be positioned using the best available fit based on available space or as it was initially\n * preferred.\n */\n @property({ attribute: 'flip-fallback-strategy' }) flipFallbackStrategy: 'best-fit' | 'initial' = 'best-fit';\n\n /**\n * The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\n * default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\n * change the boundary by passing a reference to one or more elements to this property.\n */\n @property({ type: Object }) flipBoundary: Element | Element[];\n\n /** The amount of padding, in pixels, to exceed before the flip behavior will occur. */\n @property({ attribute: 'flip-padding', type: Number }) flipPadding = 0;\n\n /** Moves the popup along the axis to keep it in view when clipped. */\n @property({ type: Boolean }) shift = false;\n\n /**\n * The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\n * default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\n * change the boundary by passing a reference to one or more elements to this property.\n */\n @property({ type: Object }) shiftBoundary: Element | Element[];\n\n /** The amount of padding, in pixels, to exceed before the shift behavior will occur. */\n @property({ attribute: 'shift-padding', type: Number }) shiftPadding = 0;\n\n /** When set, this will cause the popup to automatically resize itself to prevent it from overflowing. */\n @property({ attribute: 'auto-size' }) autoSize: 'horizontal' | 'vertical' | 'both';\n\n /** Syncs the popup's width or height to that of the anchor element. */\n @property() sync: 'width' | 'height' | 'both';\n\n /**\n * The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\n * default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\n * change the boundary by passing a reference to one or more elements to this property.\n */\n @property({ type: Object }) autoSizeBoundary: Element | Element[];\n\n /** The amount of padding, in pixels, to exceed before the auto-size behavior will occur. */\n @property({ attribute: 'auto-size-padding', type: Number }) autoSizePadding = 0;\n\n async connectedCallback() {\n super.connectedCallback();\n\n // Start the positioner after the first update\n await this.updateComplete;\n this.start();\n }\n\n disconnectedCallback() {\n this.stop();\n }\n\n async updated(changedProps: Map<string, unknown>) {\n super.updated(changedProps);\n\n // Start or stop the positioner when active changes\n if (changedProps.has('active')) {\n if (this.active) {\n this.start();\n } else {\n this.stop();\n }\n }\n\n // Update the anchor when anchor changes\n if (changedProps.has('anchor')) {\n this.handleAnchorChange();\n }\n\n // All other properties will trigger a reposition when active\n if (this.active) {\n await this.updateComplete;\n this.reposition();\n }\n }\n\n private async handleAnchorChange() {\n await this.stop();\n\n if (this.anchor && typeof this.anchor === 'string') {\n // Locate the anchor by id\n const root = this.getRootNode() as Document | ShadowRoot;\n this.anchorEl = root.getElementById(this.anchor);\n } else if (this.anchor instanceof Element) {\n // Use the anchor's reference\n this.anchorEl = this.anchor;\n } else {\n // Look for a slotted anchor\n this.anchorEl = this.querySelector<HTMLElement>('[slot=\"anchor\"]');\n }\n\n // If the anchor is a <slot>, we'll use the first assigned element as the target since slots use `display: contents`\n // and positioning can't be calculated on them\n if (this.anchorEl instanceof HTMLSlotElement) {\n this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0] as HTMLElement;\n }\n\n /**\n * NOTE TO DEVELOPERS:\n * The anchor element is essential for nile-popup to function correctly.\n * This error was thrown when an anchor (slot=\"anchor\") or anchor reference was not found.\n *\n * In many places, developers are using *ngIf or similar conditional rendering directly on the anchor slot\n * inside <nile-tooltip>, which removes the anchor from the DOM.\n * As a result, the tooltip remains but cannot be anchored — leading to this error.\n *\n * Suggested Fixes:\n * - Move *ngIf to a wrapper above <nile-tooltip>\n * - OR use the 'disabled' property of nile-tooltip to prevent it from activating without anchor\n *\n * For now, this error is commented out to avoid runtime crashes.\n * Proper usage patterns should be followed instead.\n */\n if (!this.anchorEl) {\n // throw new Error(\n // 'Invalid anchor element: no anchor could be found using the anchor slot or the anchor attribute.'\n // );\n return;\n }\n\n this.start();\n }\n\n private start() {\n // We can't start the positioner without an anchor\n if (!this.anchorEl) {\n return;\n }\n\n this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {\n this.reposition();\n });\n }\n\n private async stop(): Promise<void> {\n return new Promise(resolve => {\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = undefined;\n this.removeAttribute('data-current-placement');\n this.style.removeProperty('--auto-size-available-width');\n this.style.removeProperty('--auto-size-available-height');\n requestAnimationFrame(() => resolve());\n } else {\n resolve();\n }\n });\n }\n\n /** Forces the popup to recalculate and reposition itself. */\n reposition() {\n // Nothing to do if the popup is inactive or the anchor doesn't exist\n if (!this.active || !this.anchorEl) {\n return;\n }\n\n //\n // NOTE: Floating UI middlewares are order dependent: https://floating-ui.com/docs/middleware\n //\n const middleware = [\n // The offset middleware goes first\n offset({ mainAxis: this.distance, crossAxis: this.skidding })\n ];\n\n // First we sync width/height\n if (this.sync) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n const syncWidth = this.sync === 'width' || this.sync === 'both';\n const syncHeight = this.sync === 'height' || this.sync === 'both';\n this.popup.style.width = syncWidth ? `${rects.reference.width}px` : '';\n this.popup.style.height = syncHeight ? `${rects.reference.height}px` : '';\n }\n })\n );\n } else {\n // Cleanup styles if we're not matching width/height\n this.popup.style.width = '';\n this.popup.style.height = '';\n }\n\n // Then we flip\n if (this.flip) {\n middleware.push(\n flip({\n boundary: this.flipBoundary,\n // @ts-expect-error - We're converting a string attribute to an array here\n fallbackPlacements: this.flipFallbackPlacements,\n fallbackStrategy: this.flipFallbackStrategy === 'best-fit' ? 'bestFit' : 'initialPlacement',\n padding: this.flipPadding\n })\n );\n }\n\n // Then we shift\n if (this.shift) {\n middleware.push(\n shift({\n boundary: this.shiftBoundary,\n padding: this.shiftPadding\n })\n );\n }\n\n // Now we adjust the size as needed\n if (this.autoSize) {\n middleware.push(\n size({\n boundary: this.autoSizeBoundary,\n padding: this.autoSizePadding,\n apply: ({ availableWidth, availableHeight }) => {\n if (this.autoSize === 'vertical' || this.autoSize === 'both') {\n this.style.setProperty('--auto-size-available-height', `${availableHeight}px`);\n } else {\n this.style.removeProperty('--auto-size-available-height');\n }\n\n if (this.autoSize === 'horizontal' || this.autoSize === 'both') {\n this.style.setProperty('--auto-size-available-width', `${availableWidth}px`);\n } else {\n this.style.removeProperty('--auto-size-available-width');\n }\n }\n })\n );\n } else {\n // Cleanup styles if we're no longer using auto-size\n this.style.removeProperty('--auto-size-available-width');\n this.style.removeProperty('--auto-size-available-height');\n }\n\n // Finally, we add an arrow\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrowEl,\n padding: this.arrowPadding\n })\n );\n }\n\n //\n // Use custom positioning logic if the strategy is absolute. Otherwise, fall back to the default logic.\n //\n //\n const getOffsetParent =\n this.strategy === 'absolute'\n ? (element: Element) => platform.getOffsetParent(element, offsetParent)\n : platform.getOffsetParent;\n\n computePosition(this.anchorEl, this.popup, {\n placement: this.placement,\n middleware,\n strategy: this.strategy,\n platform: {\n ...platform,\n getOffsetParent\n }\n }).then(({ x, y, middlewareData, placement }) => {\n //\n // Even though we have our own localization utility, it uses different heuristics to determine RTL. Because of\n // that, we'll use the same approach that Floating UI uses.\n //\n // Source: https://github.com/floating-ui/floating-ui/blob/cb3b6ab07f95275730d3e6e46c702f8d4908b55c/packages/dom/src/utils/getDocumentRect.ts#L31\n //\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const staticSide = { top: 'bottom', right: 'left', bottom: 'top', left: 'right' }[placement.split('-')[0]]!;\n\n this.setAttribute('data-current-placement', placement);\n\n Object.assign(this.popup.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n\n if (this.arrow) {\n const arrowX = middlewareData.arrow!.x;\n const arrowY = middlewareData.arrow!.y;\n let top = '';\n let right = '';\n let bottom = '';\n let left = '';\n\n if (this.arrowPlacement === 'start') {\n // Start\n const value = typeof arrowX === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n top = typeof arrowY === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n right = isRtl ? value : '';\n left = isRtl ? '' : value;\n } else if (this.arrowPlacement === 'end') {\n // End\n const value = typeof arrowX === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n right = isRtl ? '' : value;\n left = isRtl ? value : '';\n bottom = typeof arrowY === 'number' ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : '';\n } else if (this.arrowPlacement === 'center') {\n // Center\n left = typeof arrowX === 'number' ? `calc(50% - var(--arrow-size-diagonal))` : '';\n top = typeof arrowY === 'number' ? `calc(50% - var(--arrow-size-diagonal))` : '';\n } else {\n // Anchor (default)\n left = typeof arrowX === 'number' ? `${arrowX}px` : '';\n top = typeof arrowY === 'number' ? `${arrowY}px` : '';\n }\n\n Object.assign(this.arrowEl.style, {\n top,\n right,\n bottom,\n left,\n [staticSide]: 'calc(var(--arrow-size-diagonal) * -1)'\n });\n }\n });\n\n this.emit('reposition');\n }\n\n render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n <div\n part=\"popup\"\n class=${classMap({\n popup: true,\n 'popup--active': this.active,\n 'popup--fixed': this.strategy === 'fixed',\n 'popup--has-arrow': this.arrow\n })}\n >\n <slot></slot>\n ${this.arrow ? html`<div part=\"arrow\" class=\"popup__arrow\" role=\"presentation\"></div>` : ''}\n </div>\n `;\n }\n}\n\nexport default NilePopup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-popup': NilePopup;\n }\n}\n"]}
@@ -8,7 +8,7 @@ import '../nile-icon';
8
8
  import '../nile-popup/nile-popup';
9
9
  import '../nile-tag/nile-tag';
10
10
  import NileElement from '../internal/nile-element';
11
- import type { CSSResultGroup } from 'lit';
11
+ import type { CSSResultGroup, PropertyValues } from 'lit';
12
12
  import type { NileFormControl } from '../internal/nile-element';
13
13
  import type NileOption from '../nile-option/nile-option';
14
14
  import type NilePopup from '../nile-popup/nile-popup';
@@ -157,6 +157,8 @@ export declare class NileSelect extends NileElement implements NileFormControl {
157
157
  get validationMessage(): string;
158
158
  connectedCallback(): void;
159
159
  disconnectedCallback(): void;
160
+ protected updated(_changedProperties: PropertyValues): void;
161
+ setCheckBoxInOption(checked: boolean): void;
160
162
  private addOpenListeners;
161
163
  private removeOpenListeners;
162
164
  private handleFocus;
@@ -182,6 +182,17 @@ let NileSelect = class NileSelect extends NileElement {
182
182
  super.disconnectedCallback();
183
183
  this.emit('nile-destroy');
184
184
  }
185
+ updated(_changedProperties) {
186
+ if (_changedProperties.has('multiple')) {
187
+ this.setCheckBoxInOption(this.multiple);
188
+ }
189
+ }
190
+ setCheckBoxInOption(checked) {
191
+ const options = this.getAllOptions();
192
+ options.forEach((option) => {
193
+ option.showCheckbox = checked;
194
+ });
195
+ }
185
196
  addOpenListeners() {
186
197
  document.addEventListener('focusin', this.handleDocumentFocusIn);
187
198
  document.addEventListener('keydown', this.handleDocumentKeyDown);