@aquera/nile-elements 0.1.57-beta-1.7 → 0.1.57-beta-1.9

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 (394) hide show
  1. package/README.md +23 -0
  2. package/demo/index.html +1 -9
  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-f2693d97.esm.js → fixture-2b5b3aba.esm.js} +1 -1
  8. package/dist/{fixture-c1bd203f.cjs.js → fixture-7bfb866e.cjs.js} +2 -2
  9. package/dist/{fixture-c1bd203f.cjs.js.map → fixture-7bfb866e.cjs.js.map} +1 -1
  10. package/dist/{fixture-add72f26.esm.js → fixture-e7023246.esm.js} +1 -1
  11. package/dist/{fixture-cb376a7f.cjs.js → fixture-fe6c932e.cjs.js} +3 -3
  12. package/dist/fixture-fe6c932e.cjs.js.map +1 -0
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.esm.js +1 -1
  15. package/dist/index.js +10341 -0
  16. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  17. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  18. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  19. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  20. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  21. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  22. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  23. package/dist/nile-badge/index.cjs.js +1 -1
  24. package/dist/nile-badge/index.esm.js +1 -1
  25. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  26. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  27. package/dist/nile-badge/nile-badge.esm.js +1 -1
  28. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  29. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  30. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  31. package/dist/nile-button/index.cjs.js +1 -1
  32. package/dist/nile-button/index.esm.js +1 -1
  33. package/dist/nile-button/nile-button.cjs.js +1 -1
  34. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  35. package/dist/nile-button/nile-button.esm.js +1 -1
  36. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  37. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  38. package/dist/nile-button/nile-button.test.esm.js +1 -1
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  40. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  41. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  42. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  43. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  44. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  45. package/dist/nile-calendar/nile-calendar.css.esm.js +29 -168
  46. package/dist/nile-calendar/nile-calendar.esm.js +37 -124
  47. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  48. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  49. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  50. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  51. package/dist/nile-card/nile-card.test.esm.js +1 -1
  52. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  53. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  54. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  55. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  56. package/dist/nile-chip/nile-chip.esm.js +1 -0
  57. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  58. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  59. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  60. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  61. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  62. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  63. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  64. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  65. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  66. package/dist/nile-code-editor/theme.cjs.js +1 -1
  67. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  68. package/dist/nile-code-editor/theme.esm.js +1 -1
  69. package/dist/nile-dialog/index.cjs.js +1 -1
  70. package/dist/nile-dialog/index.esm.js +1 -1
  71. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  72. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  73. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  74. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  75. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  76. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  77. package/dist/nile-drawer/index.cjs.js +1 -1
  78. package/dist/nile-drawer/index.esm.js +1 -1
  79. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  80. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  81. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  82. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  83. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  84. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  85. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  86. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  87. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  88. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  89. package/dist/nile-empty-state/nile-empty-state.esm.js +13 -13
  90. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  91. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  92. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  93. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  94. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  95. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  96. package/dist/nile-error-notification/nile-error-notification.esm.js +4 -2
  97. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  98. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  99. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  100. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  101. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  102. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  103. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  104. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  105. package/dist/nile-icon/icons/svg/attribute.cjs.js +2 -0
  106. package/dist/nile-icon/icons/svg/attribute.cjs.js.map +1 -0
  107. package/dist/nile-icon/icons/svg/attribute.esm.js +1 -0
  108. package/dist/nile-icon/icons/svg/class.cjs.js +2 -0
  109. package/dist/nile-icon/icons/svg/class.cjs.js.map +1 -0
  110. package/dist/nile-icon/icons/svg/class.esm.js +1 -0
  111. package/dist/nile-icon/icons/svg/column-add.cjs.js +2 -0
  112. package/dist/nile-icon/icons/svg/column-add.cjs.js.map +1 -0
  113. package/dist/nile-icon/icons/svg/column-add.esm.js +1 -0
  114. package/dist/nile-icon/icons/svg/function.cjs.js +2 -0
  115. package/dist/nile-icon/icons/svg/function.cjs.js.map +1 -0
  116. package/dist/nile-icon/icons/svg/function.esm.js +1 -0
  117. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  118. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  119. package/dist/nile-icon/icons/svg/keyword.cjs.js +2 -0
  120. package/dist/nile-icon/icons/svg/keyword.cjs.js.map +1 -0
  121. package/dist/nile-icon/icons/svg/keyword.esm.js +1 -0
  122. package/dist/nile-icon/index.cjs.js +1 -1
  123. package/dist/nile-icon/index.cjs.js.map +1 -1
  124. package/dist/nile-icon/index.esm.js +1 -1
  125. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  126. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  127. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  128. package/dist/nile-icon-button/index.cjs.js +1 -1
  129. package/dist/nile-icon-button/index.esm.js +1 -1
  130. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  131. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  132. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  133. package/dist/nile-input/index.cjs.js +1 -1
  134. package/dist/nile-input/index.esm.js +1 -1
  135. package/dist/nile-input/nile-input.cjs.js +1 -1
  136. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  137. package/dist/nile-input/nile-input.esm.js +1 -1
  138. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  139. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  140. package/dist/nile-input/nile-input.test.esm.js +1 -1
  141. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  142. package/dist/nile-link/nile-link.test.esm.js +1 -1
  143. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  144. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  145. package/dist/nile-menu-item/index.cjs.js +1 -1
  146. package/dist/nile-menu-item/index.esm.js +1 -1
  147. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  148. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  149. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  150. package/dist/nile-option/index.cjs.js +1 -1
  151. package/dist/nile-option/index.esm.js +1 -1
  152. package/dist/nile-option/nile-option.cjs.js +1 -1
  153. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  154. package/dist/nile-option/nile-option.esm.js +1 -1
  155. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  156. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  157. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  158. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  159. package/dist/nile-pagination/nile-pagination.css.esm.js +152 -39
  160. package/dist/nile-pagination/nile-pagination.esm.js +118 -29
  161. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  162. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  163. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  164. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  165. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  166. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  167. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  168. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  169. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  170. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  171. package/dist/nile-select/index.cjs.js +1 -1
  172. package/dist/nile-select/index.esm.js +1 -1
  173. package/dist/nile-select/nile-select.cjs.js +1 -1
  174. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  175. package/dist/nile-select/nile-select.esm.js +1 -1
  176. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  177. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  178. package/dist/nile-select/nile-select.test.esm.js +1 -1
  179. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  180. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  181. package/dist/nile-tab/index.cjs.js +1 -1
  182. package/dist/nile-tab/index.esm.js +1 -1
  183. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  184. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  185. package/dist/nile-tab/nile-tab.esm.js +1 -1
  186. package/dist/nile-tab-group/index.cjs.js +1 -1
  187. package/dist/nile-tab-group/index.esm.js +1 -1
  188. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  189. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  190. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  191. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  192. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  193. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  194. package/dist/nile-tag/index.cjs.js +1 -1
  195. package/dist/nile-tag/index.esm.js +1 -1
  196. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  197. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  198. package/dist/nile-tag/nile-tag.esm.js +1 -1
  199. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  200. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  201. package/dist/nile-toast/index.cjs.js +1 -1
  202. package/dist/nile-toast/index.esm.js +1 -1
  203. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  204. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  205. package/dist/nile-toast/nile-toast.esm.js +1 -1
  206. package/dist/nile-tree/index.cjs.js +1 -1
  207. package/dist/nile-tree/index.esm.js +1 -1
  208. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  209. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  210. package/dist/nile-tree/nile-tree.esm.js +1 -1
  211. package/dist/nile-tree-item/index.cjs.js +1 -1
  212. package/dist/nile-tree-item/index.esm.js +1 -1
  213. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  214. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  215. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  216. package/dist/src/nile-calendar/nile-calendar.css.js +27 -166
  217. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  218. package/dist/src/nile-calendar/nile-calendar.d.ts +0 -8
  219. package/dist/src/nile-calendar/nile-calendar.js +34 -173
  220. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  221. package/dist/src/nile-chip/nile-chip.js +1 -0
  222. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  223. package/dist/src/nile-code-editor/nile-code-editor.d.ts +2 -0
  224. package/dist/src/nile-code-editor/nile-code-editor.js +48 -6
  225. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  226. package/dist/src/nile-code-editor/theme.d.ts +110 -0
  227. package/dist/src/nile-code-editor/theme.js +110 -0
  228. package/dist/src/nile-code-editor/theme.js.map +1 -1
  229. package/dist/src/nile-empty-state/nile-empty-state.js +11 -11
  230. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  231. package/dist/src/nile-error-notification/nile-error-notification.js +4 -2
  232. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  233. package/dist/src/nile-file-preview/nile-file-preview.css.js +162 -151
  234. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  235. package/dist/src/nile-file-preview/nile-file-preview.d.ts +0 -1
  236. package/dist/src/nile-file-preview/nile-file-preview.js +2 -6
  237. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  238. package/dist/src/nile-file-preview/nile-file-preview.template.js +29 -24
  239. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  240. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +2 -2
  241. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +1 -1
  242. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
  243. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +0 -4
  244. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +0 -22
  245. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  246. package/dist/src/nile-file-upload/nile-file-upload.css.js +78 -82
  247. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  248. package/dist/src/nile-file-upload/nile-file-upload.d.ts +1 -2
  249. package/dist/src/nile-file-upload/nile-file-upload.js +20 -21
  250. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  251. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +5 -4
  252. package/dist/src/nile-file-upload/nile-file-upload.template.js +78 -30
  253. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  254. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +5 -9
  255. package/dist/src/nile-file-upload/types/file-upload.enums.js +3 -7
  256. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  257. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +4 -2
  258. package/dist/src/nile-file-upload/utils/drag-drop.util.js +21 -18
  259. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  260. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +1 -3
  261. package/dist/src/nile-file-upload/utils/file-validation.util.js +18 -52
  262. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  263. package/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
  264. package/dist/src/nile-icon/icons/svg/index.js +5 -0
  265. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  266. package/dist/src/nile-pagination/nile-pagination.css.js +151 -38
  267. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  268. package/dist/src/nile-pagination/nile-pagination.d.ts +3 -0
  269. package/dist/src/nile-pagination/nile-pagination.js +167 -40
  270. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  271. package/dist/src/nile-select/nile-select.d.ts +4 -0
  272. package/dist/src/nile-select/nile-select.js +31 -1
  273. package/dist/src/nile-select/nile-select.js.map +1 -1
  274. package/dist/src/nile-slider/nile-slider.css.d.ts +8 -2
  275. package/dist/src/nile-slider/nile-slider.css.js +13 -21
  276. package/dist/src/nile-slider/nile-slider.css.js.map +1 -1
  277. package/dist/src/nile-slider/nile-slider.d.ts +2 -3
  278. package/dist/src/nile-slider/nile-slider.js +24 -60
  279. package/dist/src/nile-slider/nile-slider.js.map +1 -1
  280. package/dist/src/nile-slider/nile-slider.template.js +4 -33
  281. package/dist/src/nile-slider/nile-slider.template.js.map +1 -1
  282. package/dist/src/nile-slider/types/nile-slider.enums.js.map +1 -1
  283. package/dist/src/nile-slider/utils/nile-slider.utils.js +13 -26
  284. package/dist/src/nile-slider/utils/nile-slider.utils.js.map +1 -1
  285. package/dist/tsconfig.tsbuildinfo +1 -1
  286. package/package.json +1 -1
  287. package/rollup.config.js +27 -39
  288. package/src/nile-calendar/nile-calendar.css.ts +27 -166
  289. package/src/nile-calendar/nile-calendar.ts +41 -191
  290. package/src/nile-chip/nile-chip.ts +1 -0
  291. package/src/nile-code-editor/nile-code-editor.ts +55 -6
  292. package/src/nile-code-editor/theme.ts +111 -0
  293. package/src/nile-empty-state/nile-empty-state.ts +11 -11
  294. package/src/nile-error-notification/nile-error-notification.ts +4 -3
  295. package/src/nile-icon/icons/svg/attribute.ts +5 -0
  296. package/src/nile-icon/icons/svg/class.ts +5 -0
  297. package/src/nile-icon/icons/svg/column-add.ts +5 -0
  298. package/src/nile-icon/icons/svg/function.ts +5 -0
  299. package/src/nile-icon/icons/svg/index.ts +5 -0
  300. package/src/nile-icon/icons/svg/keyword.ts +5 -0
  301. package/src/nile-pagination/nile-pagination.css.ts +151 -38
  302. package/src/nile-pagination/nile-pagination.ts +188 -46
  303. package/src/nile-select/nile-select.ts +37 -1
  304. package/vscode-html-custom-data.json +19 -24
  305. package/demo/filenames.txt +0 -1
  306. package/demo/filenames.txt +0 -1
  307. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  308. package/dist/lit-html-39a6718c.esm.js +0 -6
  309. package/dist/lit-html-9b3af046.cjs.js +0 -6
  310. package/dist/lit-html-9b3af046.cjs.js.map +0 -1
  311. package/dist/nile-file-preview/index.cjs.js +0 -2
  312. package/dist/nile-file-preview/index.cjs.js.map +0 -1
  313. package/dist/nile-file-preview/index.esm.js +0 -1
  314. package/dist/nile-file-preview/nile-file-preview.cjs.js +0 -2
  315. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +0 -1
  316. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +0 -2
  317. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +0 -1
  318. package/dist/nile-file-preview/nile-file-preview.css.esm.js +0 -545
  319. package/dist/nile-file-preview/nile-file-preview.esm.js +0 -3
  320. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +0 -2
  321. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +0 -1
  322. package/dist/nile-file-preview/nile-file-preview.template.esm.js +0 -173
  323. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
  324. package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
  325. package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
  326. package/dist/nile-file-preview/types/index.cjs.js +0 -2
  327. package/dist/nile-file-preview/types/index.cjs.js.map +0 -1
  328. package/dist/nile-file-preview/types/index.esm.js +0 -1
  329. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +0 -2
  330. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +0 -1
  331. package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +0 -1
  332. package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js +0 -2
  333. package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js.map +0 -1
  334. package/dist/nile-file-preview/types/nile-file-preview.interface.esm.js +0 -1
  335. package/dist/nile-file-preview/utils/index.cjs.js +0 -2
  336. package/dist/nile-file-preview/utils/index.cjs.js.map +0 -1
  337. package/dist/nile-file-preview/utils/index.esm.js +0 -1
  338. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +0 -2
  339. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +0 -1
  340. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +0 -1
  341. package/dist/nile-file-upload/index.cjs.js +0 -2
  342. package/dist/nile-file-upload/index.cjs.js.map +0 -1
  343. package/dist/nile-file-upload/index.esm.js +0 -1
  344. package/dist/nile-file-upload/nile-file-upload.cjs.js +0 -2
  345. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +0 -1
  346. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +0 -2
  347. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +0 -1
  348. package/dist/nile-file-upload/nile-file-upload.css.esm.js +0 -559
  349. package/dist/nile-file-upload/nile-file-upload.esm.js +0 -3
  350. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +0 -10
  351. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +0 -1
  352. package/dist/nile-file-upload/nile-file-upload.template.esm.js +0 -111
  353. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
  354. package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
  355. package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
  356. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +0 -2
  357. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +0 -1
  358. package/dist/nile-file-upload/types/file-upload.enums.esm.js +0 -1
  359. package/dist/nile-file-upload/types/file-upload.type.cjs.js +0 -2
  360. package/dist/nile-file-upload/types/file-upload.type.cjs.js.map +0 -1
  361. package/dist/nile-file-upload/types/file-upload.type.esm.js +0 -1
  362. package/dist/nile-file-upload/types/index.cjs.js +0 -2
  363. package/dist/nile-file-upload/types/index.cjs.js.map +0 -1
  364. package/dist/nile-file-upload/types/index.esm.js +0 -1
  365. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +0 -2
  366. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +0 -1
  367. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +0 -1
  368. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +0 -3
  369. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +0 -1
  370. package/dist/nile-file-upload/utils/file-validation.util.esm.js +0 -1
  371. package/dist/nile-slider/index.cjs.js +0 -2
  372. package/dist/nile-slider/index.cjs.js.map +0 -1
  373. package/dist/nile-slider/index.esm.js +0 -1
  374. package/dist/nile-slider/nile-slider.cjs.js +0 -2
  375. package/dist/nile-slider/nile-slider.cjs.js.map +0 -1
  376. package/dist/nile-slider/nile-slider.css.cjs.js +0 -2
  377. package/dist/nile-slider/nile-slider.css.cjs.js.map +0 -1
  378. package/dist/nile-slider/nile-slider.css.esm.js +0 -106
  379. package/dist/nile-slider/nile-slider.esm.js +0 -27
  380. package/dist/nile-slider/nile-slider.template.cjs.js +0 -2
  381. package/dist/nile-slider/nile-slider.template.cjs.js.map +0 -1
  382. package/dist/nile-slider/nile-slider.template.esm.js +0 -59
  383. package/dist/nile-slider/types/nile-slider.enums.cjs.js +0 -2
  384. package/dist/nile-slider/types/nile-slider.enums.cjs.js.map +0 -1
  385. package/dist/nile-slider/types/nile-slider.enums.esm.js +0 -1
  386. package/dist/nile-slider/types/nile-slider.types.cjs.js +0 -2
  387. package/dist/nile-slider/types/nile-slider.types.cjs.js.map +0 -1
  388. package/dist/nile-slider/types/nile-slider.types.esm.js +0 -1
  389. package/dist/nile-slider/utils/nile-slider.utils.cjs.js +0 -2
  390. package/dist/nile-slider/utils/nile-slider.utils.cjs.js.map +0 -1
  391. package/dist/nile-slider/utils/nile-slider.utils.esm.js +0 -1
  392. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +0 -5
  393. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +0 -5
  394. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4HxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 {\n justify-content: flex-start;\n gap: var(--nile-spacing-spacing-lg);\n }\n\n .pagination-wrapper.v2 .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n margin-right: var(--nile-spacing-spacing-xl);\n }\n\n .pagination-wrapper.v2 .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl);\n }\n\n .range-text {\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none);\n margin: var(--nile-spacing-spacing-none);\n gap: var(--nile-radius-radius-xxs);\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none);\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n \n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs);\n }\n ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md);\n }\n\n .page-size-label {\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-500);\n margin-left: var(--nile-spacing-spacing-md);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n}\n\n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border:none;\n}\n \n nile-button.down::part(base){\n min-width: 62px;\n\n }\n.page-size-dropdown .chevron {\n transition: transform 0.2s;\n}\n.page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n}\n\n\n\n\n\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6OxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg) ;\n }\n\n \n .pagination-wrapper.v2 .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n margin-right: var(--nile-spacing-spacing-xl);\n }\n\n .pagination-wrapper.v2 .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n \n .pagination-wrapper.compact {\n min-width: 324px;\n justify-content: space-between;\n }\n\n\n\n.pagination-wrapper.compact .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n white-space: nowrap;\n}\n\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-spacing-md);\n}\n\n\n .pagination-wrapper.compact .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n }\n\n .pagination-wrapper.compact .page-size-dropdown ::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0 6px;\n }\n\n .pagination-wrapper.compact .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n\n .pagination-wrapper.compact ul.pagination:not(.compact-pagination) {\n display: none;\n }\n\n .compact-pagination {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-xs);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .page-dropdown .current-page-btn {\n padding: 2px;\n font-size: var(--nile-font-size-small);\n }\n\n nile-button.current-page-btn::part(base){\n min-width: 51px;\n }\n\n nile-button.current-page-btn::part(base):active {\n min-width: 51px;\n}\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl);\n }\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-xxs) !important;\n}\n\n .range-text {\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none);\n margin: var(--nile-spacing-spacing-none);\n gap: var(--nile-radius-radius-xxs);\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none);\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n .down-scroll-wrapper {\n max-height: 150px;\n overflow-y: auto;\n width: 60px;\n }\n\n\n .compact-scroll-wrapper {\n max-height: 160px;\n overflow-y: auto;\n width: 60px;\n }\n .compact-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .page-size-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .compact-scroll-wrapper1 {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n.pagination-wrapper.fluid ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs);\n}\n.pagination-wrapper.fluid ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md);\n}\n\n\n .page-size-label {\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-500);\n margin-left: var(--nile-spacing-spacing-md);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular); \n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n\n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border: none;\n }\n\n nile-button.down::part(base) {\n min-width: 62px;\n }\n\n nile-button.compactbtn:part(base){\n background-color: red;\n }\n .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n \n .pagination-wrapper.compact .compact-dropdown .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .compact-dropdown .down.open .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n\n`;\n\nexport default [styles];\n"]}
@@ -16,13 +16,16 @@ export declare class NilePagination extends NileElement {
16
16
  disabled: boolean;
17
17
  showTitle: boolean;
18
18
  private _pageSizeOpen;
19
+ private _pageOpen;
19
20
  private _pageSizeDropdown;
20
21
  firstUpdated(): void;
21
22
  private get totalPages();
22
23
  private goToPage;
23
24
  private onPageSizeSelect;
25
+ private renderCompactRangeText;
24
26
  private renderRangeText;
25
27
  private renderPageSizeSelect;
28
+ private renderCompactPageSize;
26
29
  private renderPrevButton;
27
30
  private renderNextButton;
28
31
  private renderPageItem;
@@ -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"]}
@@ -157,7 +157,11 @@ export declare class NileSelect extends NileElement implements NileFormControl {
157
157
  get validationMessage(): string;
158
158
  connectedCallback(): void;
159
159
  disconnectedCallback(): void;
160
+ private observer;
160
161
  protected updated(_changedProperties: PropertyValues): void;
162
+ protected firstUpdated(_changedProperties: PropertyValues): void;
163
+ private waitForChildrenRender;
164
+ private areChildrenReady;
161
165
  setCheckBoxInOption(checked: boolean): void;
162
166
  private addOpenListeners;
163
167
  private removeOpenListeners;
@@ -160,6 +160,7 @@ let NileSelect = class NileSelect extends NileElement {
160
160
  this.oldMaxOptionsVisible = 1;
161
161
  this.showNoResults = false;
162
162
  this.noResultsMessage = 'No results found';
163
+ this.observer = null;
163
164
  }
164
165
  /** Gets the validity state object */
165
166
  get validity() {
@@ -184,9 +185,38 @@ let NileSelect = class NileSelect extends NileElement {
184
185
  }
185
186
  updated(_changedProperties) {
186
187
  if (_changedProperties.has('multiple')) {
187
- this.setCheckBoxInOption(this.multiple);
188
+ this.waitForChildrenRender().then(() => {
189
+ this.setCheckBoxInOption(this.multiple);
190
+ });
188
191
  }
189
192
  }
193
+ firstUpdated(_changedProperties) {
194
+ this.waitForChildrenRender().then(() => {
195
+ this.setCheckBoxInOption(this.multiple);
196
+ });
197
+ }
198
+ waitForChildrenRender() {
199
+ return new Promise((resolve) => {
200
+ if (this.areChildrenReady()) {
201
+ resolve();
202
+ return;
203
+ }
204
+ this.observer?.disconnect();
205
+ this.observer = new MutationObserver(() => {
206
+ if (this.areChildrenReady()) {
207
+ this.observer?.disconnect();
208
+ resolve();
209
+ }
210
+ });
211
+ this.observer.observe(this.renderRoot, {
212
+ childList: true
213
+ });
214
+ });
215
+ }
216
+ areChildrenReady() {
217
+ const options = this.getAllOptions();
218
+ return options.length > 0;
219
+ }
190
220
  setCheckBoxInOption(checked) {
191
221
  const options = this.getAllOptions();
192
222
  options.forEach((option) => {