@aquera/nile-elements 1.3.9-beta-1.0 → 1.3.9-beta-1.2

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 (671) hide show
  1. package/demo/index.css +0 -3
  2. package/demo/index.html +14 -201
  3. package/demo/nxtgen.css +0 -2
  4. package/demo/variables.css +1 -2
  5. package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
  6. package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
  7. package/dist/fixture-5b79f853.cjs.js +395 -0
  8. package/dist/fixture-5b79f853.cjs.js.map +1 -0
  9. package/dist/fixture-73855806.cjs.js +395 -0
  10. package/dist/fixture-73855806.cjs.js.map +1 -0
  11. package/dist/fixture-90b199c4.esm.js +569 -0
  12. package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
  13. package/dist/fixture-c1d78368.cjs.js +395 -0
  14. package/dist/fixture-c1d78368.cjs.js.map +1 -0
  15. package/dist/fixture-cf7bfcf5.esm.js +569 -0
  16. package/dist/fixture-dbd66009.cjs.js +395 -0
  17. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  18. package/dist/index.cjs.js +1 -1
  19. package/dist/index.esm.js +1 -1
  20. package/dist/index.js +416 -382
  21. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  22. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  23. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  24. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  25. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  26. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  27. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  28. package/dist/nile-badge/index.cjs.js +1 -1
  29. package/dist/nile-badge/index.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.esm.js +1 -1
  33. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  34. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  35. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  36. package/dist/nile-button/index.cjs.js +1 -1
  37. package/dist/nile-button/index.esm.js +1 -1
  38. package/dist/nile-button/nile-button.cjs.js +1 -1
  39. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  40. package/dist/nile-button/nile-button.esm.js +1 -1
  41. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  42. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  43. package/dist/nile-button/nile-button.test.esm.js +1 -1
  44. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  45. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  46. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  47. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  48. package/dist/nile-calendar/nile-calendar.esm.js +1 -1
  49. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  50. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  51. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  52. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  53. package/dist/nile-card/nile-card.test.esm.js +1 -1
  54. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  55. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  56. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  57. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  58. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  59. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
  60. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
  61. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
  62. package/dist/nile-dialog/index.cjs.js +1 -1
  63. package/dist/nile-dialog/index.esm.js +1 -1
  64. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  65. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  66. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  67. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  68. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  69. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  70. package/dist/nile-drawer/index.cjs.js +1 -1
  71. package/dist/nile-drawer/index.esm.js +1 -1
  72. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  73. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  74. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  75. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  76. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  77. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  78. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  79. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  80. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  81. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  82. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  83. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  84. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  85. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  86. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  87. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  88. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  89. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  90. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  91. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  92. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  93. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  94. package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
  95. package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
  96. package/dist/nile-grid/nile-grid.types.esm.js +1 -0
  97. package/dist/nile-grid-body/index.cjs.js +2 -0
  98. package/dist/nile-grid-body/index.esm.js +1 -0
  99. package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
  100. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
  101. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
  102. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
  103. package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
  104. package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
  105. package/dist/nile-grid-cell-item/index.cjs.js +2 -0
  106. package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
  107. package/dist/nile-grid-cell-item/index.esm.js +1 -0
  108. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
  109. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
  110. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
  111. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
  112. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
  113. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
  114. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
  115. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
  116. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
  117. package/dist/nile-grid-head/index.cjs.js +2 -0
  118. package/dist/nile-grid-head/index.cjs.js.map +1 -0
  119. package/dist/nile-grid-head/index.esm.js +1 -0
  120. package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
  121. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
  122. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
  123. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
  124. package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
  125. package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
  126. package/dist/nile-grid-head-item/index.cjs.js +2 -0
  127. package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
  128. package/dist/nile-grid-head-item/index.esm.js +1 -0
  129. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
  130. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
  131. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
  132. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
  133. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
  134. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
  135. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
  136. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
  137. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
  138. package/dist/nile-grid-row/index.cjs.js +2 -0
  139. package/dist/nile-grid-row/index.cjs.js.map +1 -0
  140. package/dist/nile-grid-row/index.esm.js +1 -0
  141. package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
  142. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
  143. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
  144. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
  145. package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
  146. package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
  147. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  148. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  149. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  150. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  151. package/dist/nile-icon/index.cjs.js +1 -1
  152. package/dist/nile-icon/index.cjs.js.map +1 -1
  153. package/dist/nile-icon/index.esm.js +1 -1
  154. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  155. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  156. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  157. package/dist/nile-icon-button/index.cjs.js +1 -1
  158. package/dist/nile-icon-button/index.esm.js +1 -1
  159. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  160. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  161. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  162. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  163. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  164. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  165. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  166. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +2 -8
  167. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +6 -10
  168. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  169. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  170. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
  171. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
  172. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +2 -8
  173. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +2 -2
  174. package/dist/nile-input/index.cjs.js +1 -1
  175. package/dist/nile-input/index.esm.js +1 -1
  176. package/dist/nile-input/nile-input.cjs.js +1 -1
  177. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  178. package/dist/nile-input/nile-input.esm.js +1 -1
  179. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  180. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  181. package/dist/nile-input/nile-input.test.esm.js +1 -1
  182. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  183. package/dist/nile-link/nile-link.test.esm.js +1 -1
  184. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  185. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  186. package/dist/nile-menu-item/index.cjs.js +1 -1
  187. package/dist/nile-menu-item/index.esm.js +1 -1
  188. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  189. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  190. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  191. package/dist/nile-option/index.cjs.js +1 -1
  192. package/dist/nile-option/index.esm.js +1 -1
  193. package/dist/nile-option/nile-option.cjs.js +1 -1
  194. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  195. package/dist/nile-option/nile-option.esm.js +1 -1
  196. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  197. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  198. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  199. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  200. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  201. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  202. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  203. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  204. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  205. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  206. package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
  207. package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
  208. package/dist/nile-rich-text-editor/utils.esm.js +1 -0
  209. package/dist/nile-select/index.cjs.js +1 -1
  210. package/dist/nile-select/index.esm.js +1 -1
  211. package/dist/nile-select/nile-select.cjs.js +1 -1
  212. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  213. package/dist/nile-select/nile-select.esm.js +1 -1
  214. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  215. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  216. package/dist/nile-select/nile-select.test.esm.js +1 -1
  217. package/dist/nile-side-bar/nile-side-bar.cjs.js +1 -1
  218. package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
  219. package/dist/nile-side-bar/nile-side-bar.css.cjs.js +1 -1
  220. package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -1
  221. package/dist/nile-side-bar/nile-side-bar.css.esm.js +30 -25
  222. package/dist/nile-side-bar/nile-side-bar.esm.js +1 -7
  223. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  224. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  225. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  226. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  227. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  228. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
  229. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
  230. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +1 -1
  231. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -1
  232. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +5 -3
  233. package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +8 -8
  234. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
  235. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
  236. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +4 -4
  237. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
  238. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
  239. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
  240. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
  241. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +6 -11
  242. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +3 -3
  243. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +1 -1
  244. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -1
  245. package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +7 -4
  246. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +1 -1
  247. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -1
  248. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +56 -58
  249. package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js +1 -1
  250. package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js.map +1 -1
  251. package/dist/nile-side-bar-header/nile-side-bar-header.css.esm.js +4 -2
  252. package/dist/nile-sidebar/index.cjs.js +2 -0
  253. package/dist/nile-sidebar/index.cjs.js.map +1 -0
  254. package/dist/nile-sidebar/index.esm.js +75 -0
  255. package/dist/nile-sidebar-menu/index.cjs.js +2 -0
  256. package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
  257. package/dist/nile-sidebar-menu/index.esm.js +1 -0
  258. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
  259. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
  260. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
  261. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
  262. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
  263. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
  264. package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
  265. package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
  266. package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
  267. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
  268. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
  269. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
  270. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
  271. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
  272. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
  273. package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
  274. package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
  275. package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
  276. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
  277. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
  278. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
  279. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
  280. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
  281. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
  282. package/dist/nile-skeleton-loader/index.cjs.js +2 -0
  283. package/dist/nile-skeleton-loader/index.cjs.js.map +1 -0
  284. package/dist/nile-skeleton-loader/index.esm.js +1 -0
  285. package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js +2 -0
  286. package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js.map +1 -0
  287. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js +2 -0
  288. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js.map +1 -0
  289. package/dist/nile-skeleton-loader/nile-skeleton-loader.css.esm.js +47 -0
  290. package/dist/nile-skeleton-loader/nile-skeleton-loader.esm.js +16 -0
  291. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  292. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  293. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +8 -9
  294. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  295. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  296. package/dist/nile-tab/index.cjs.js +1 -1
  297. package/dist/nile-tab/index.esm.js +1 -1
  298. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  299. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  300. package/dist/nile-tab/nile-tab.esm.js +2 -2
  301. package/dist/nile-tab-group/index.cjs.js +1 -1
  302. package/dist/nile-tab-group/index.esm.js +1 -1
  303. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  304. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  305. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  306. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  307. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  308. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  309. package/dist/nile-tag/index.cjs.js +1 -1
  310. package/dist/nile-tag/index.esm.js +1 -1
  311. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  312. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  313. package/dist/nile-tag/nile-tag.esm.js +1 -1
  314. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  315. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  316. package/dist/nile-toast/index.cjs.js +1 -1
  317. package/dist/nile-toast/index.esm.js +1 -1
  318. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  319. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  320. package/dist/nile-toast/nile-toast.esm.js +1 -1
  321. package/dist/nile-tree/index.cjs.js +1 -1
  322. package/dist/nile-tree/index.esm.js +1 -1
  323. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  324. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  325. package/dist/nile-tree/nile-tree.esm.js +1 -1
  326. package/dist/nile-tree-item/index.cjs.js +1 -1
  327. package/dist/nile-tree-item/index.esm.js +1 -1
  328. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  329. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  330. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  331. package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
  332. package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
  333. package/dist/nile-virtual-select/group-manager.esm.js +1 -0
  334. package/dist/nile-virtual-select/index.cjs.js +1 -1
  335. package/dist/nile-virtual-select/index.esm.js +1 -1
  336. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  337. package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
  338. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  339. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  340. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  341. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  342. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  343. package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
  344. package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
  345. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  346. package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
  347. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
  348. package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
  349. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
  350. package/dist/src/index.d.ts +1 -1
  351. package/dist/src/index.js +1 -1
  352. package/dist/src/index.js.map +1 -1
  353. package/dist/src/internal/portal-manager.d.ts +53 -0
  354. package/dist/src/internal/portal-manager.js +196 -0
  355. package/dist/src/internal/portal-manager.js.map +1 -0
  356. package/dist/src/internal/portal.d.ts +60 -0
  357. package/dist/src/internal/portal.js +199 -0
  358. package/dist/src/internal/portal.js.map +1 -0
  359. package/dist/src/internal/resizable-helper.d.ts +59 -0
  360. package/dist/src/internal/resizable-helper.js +115 -0
  361. package/dist/src/internal/resizable-helper.js.map +1 -0
  362. package/dist/src/internal/resizable-styles.d.ts +16 -0
  363. package/dist/src/internal/resizable-styles.js +144 -0
  364. package/dist/src/internal/resizable-styles.js.map +1 -0
  365. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  366. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  367. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  368. package/dist/src/lib/index.d.ts +7 -0
  369. package/dist/src/lib/index.js +8 -0
  370. package/dist/src/lib/index.js.map +1 -0
  371. package/dist/src/lib/virtualize.d.ts +32 -0
  372. package/dist/src/lib/virtualize.js +105 -0
  373. package/dist/src/lib/virtualize.js.map +1 -0
  374. package/dist/src/lib/virtualize.test.d.ts +7 -0
  375. package/dist/src/lib/virtualize.test.js +57 -0
  376. package/dist/src/lib/virtualize.test.js.map +1 -0
  377. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  378. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  379. package/dist/src/nile-calendar/nile-calendar.js +6 -0
  380. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  381. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  382. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  383. package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
  384. package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
  385. package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
  386. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  387. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
  388. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
  389. package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
  390. package/dist/src/nile-code-editor/theme copy.js +193 -0
  391. package/dist/src/nile-code-editor/theme copy.js.map +1 -0
  392. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  393. package/dist/src/nile-grid/data-processor.js +122 -0
  394. package/dist/src/nile-grid/data-processor.js.map +1 -0
  395. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  396. package/dist/src/nile-grid/event-handlers.js +158 -0
  397. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  398. package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
  399. package/dist/src/nile-grid/nile-grid.types.js +2 -0
  400. package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
  401. package/dist/src/nile-grid/renderer.d.ts +8 -0
  402. package/dist/src/nile-grid/renderer.js +78 -0
  403. package/dist/src/nile-grid/renderer.js.map +1 -0
  404. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  405. package/dist/src/nile-grid/resize-handler.js +36 -0
  406. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  407. package/dist/src/nile-grid/types.d.ts +32 -0
  408. package/dist/src/nile-grid/types.js +2 -0
  409. package/dist/src/nile-grid/types.js.map +1 -0
  410. package/dist/src/nile-grid/utils.d.ts +4 -0
  411. package/dist/src/nile-grid/utils.js +32 -0
  412. package/dist/src/nile-grid/utils.js.map +1 -0
  413. package/dist/src/nile-grid-body/index.d.ts +1 -0
  414. package/dist/src/nile-grid-body/index.js +2 -0
  415. package/dist/src/nile-grid-body/index.js.map +1 -0
  416. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
  417. package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
  418. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
  419. package/dist/src/{nile-side-bar-panel/nile-side-bar-panel.d.ts → nile-grid-body/nile-grid-body.d.ts} +7 -10
  420. package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
  421. package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
  422. package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
  423. package/dist/src/nile-grid-cell-item/index.js +2 -0
  424. package/dist/src/{nile-side-bar-panel → nile-grid-cell-item}/index.js.map +1 -1
  425. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
  426. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
  427. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
  428. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
  429. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
  430. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
  431. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
  432. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
  433. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
  434. package/dist/src/nile-grid-head/index.d.ts +1 -0
  435. package/dist/src/nile-grid-head/index.js +2 -0
  436. package/dist/src/nile-grid-head/index.js.map +1 -0
  437. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
  438. package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
  439. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
  440. package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
  441. package/dist/src/{nile-side-bar-panel/nile-side-bar-panel.js → nile-grid-head/nile-grid-head.js} +15 -17
  442. package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
  443. package/dist/src/nile-grid-head-item/index.d.ts +1 -0
  444. package/dist/src/nile-grid-head-item/index.js +2 -0
  445. package/dist/src/nile-grid-head-item/index.js.map +1 -0
  446. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
  447. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
  448. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
  449. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
  450. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
  451. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
  452. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
  453. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
  454. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
  455. package/dist/src/nile-grid-row/index.d.ts +1 -0
  456. package/dist/src/nile-grid-row/index.js +2 -0
  457. package/dist/src/nile-grid-row/index.js.map +1 -0
  458. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
  459. package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
  460. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
  461. package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
  462. package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
  463. package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
  464. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  465. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  466. package/dist/src/nile-icon/icons/svg/index.d.ts +0 -1
  467. package/dist/src/nile-icon/icons/svg/index.js +0 -1
  468. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  469. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +2 -8
  470. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  471. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +3 -10
  472. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  473. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +0 -6
  474. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
  475. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +0 -1
  476. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +0 -4
  477. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  478. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  479. package/dist/src/nile-menu/portal-manager.d.ts +39 -0
  480. package/dist/src/nile-menu/portal-manager.js +340 -0
  481. package/dist/src/nile-menu/portal-manager.js.map +1 -0
  482. package/dist/src/nile-menu/portal-utils.d.ts +21 -0
  483. package/dist/src/nile-menu/portal-utils.js +128 -0
  484. package/dist/src/nile-menu/portal-utils.js.map +1 -0
  485. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  486. package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
  487. package/dist/src/nile-popover/popover-portal-handler.js +106 -0
  488. package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
  489. package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
  490. package/dist/src/nile-portal-wrapper/index.js +2 -0
  491. package/dist/src/nile-portal-wrapper/index.js.map +1 -0
  492. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
  493. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
  494. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
  495. package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
  496. package/dist/src/nile-rich-text-editor/utils.js +538 -0
  497. package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
  498. package/dist/src/nile-select/body-append-manager.d.ts +90 -0
  499. package/dist/src/nile-select/body-append-manager.js +298 -0
  500. package/dist/src/nile-select/body-append-manager.js.map +1 -0
  501. package/dist/src/nile-side-bar/nile-side-bar.css.js +28 -23
  502. package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -1
  503. package/dist/src/nile-side-bar/nile-side-bar.js +1 -7
  504. package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -1
  505. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +5 -3
  506. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -1
  507. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +0 -2
  508. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +4 -12
  509. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -1
  510. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +2 -2
  511. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
  512. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +4 -9
  513. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
  514. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +0 -1
  515. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +1 -8
  516. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -1
  517. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +5 -2
  518. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -1
  519. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +46 -48
  520. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -1
  521. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js +4 -2
  522. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js.map +1 -1
  523. package/dist/src/nile-sidebar/index.d.ts +28 -0
  524. package/dist/src/nile-sidebar/index.js +116 -0
  525. package/dist/src/nile-sidebar/index.js.map +1 -0
  526. package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
  527. package/dist/src/nile-sidebar-menu/index.js +2 -0
  528. package/dist/src/nile-sidebar-menu/index.js.map +1 -0
  529. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
  530. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
  531. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
  532. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
  533. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
  534. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
  535. package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
  536. package/dist/src/nile-sidebar-menu-items/index.js +2 -0
  537. package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
  538. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
  539. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
  540. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
  541. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
  542. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
  543. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
  544. package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
  545. package/dist/src/nile-sidebar-wrapper/index.js +2 -0
  546. package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
  547. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
  548. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
  549. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
  550. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
  551. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
  552. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
  553. package/dist/src/nile-skeleton-loader/index.d.ts +1 -0
  554. package/dist/src/nile-skeleton-loader/index.js +2 -0
  555. package/dist/src/nile-skeleton-loader/index.js.map +1 -0
  556. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.d.ts +3 -0
  557. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js +50 -0
  558. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js.map +1 -0
  559. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.d.ts +20 -0
  560. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.js +107 -0
  561. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.js.map +1 -0
  562. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +5 -6
  563. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  564. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  565. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  566. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  567. package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
  568. package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
  569. package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
  570. package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
  571. package/dist/src/nile-virtual-select/group-manager.js +134 -0
  572. package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
  573. package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
  574. package/dist/src/nile-virtual-select/portal-utils.js +376 -0
  575. package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
  576. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  577. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  578. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  579. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  580. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  581. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  582. package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
  583. package/dist/src/nile-virtual-select-disabled/index.js +2 -0
  584. package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
  585. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
  586. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
  587. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
  588. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
  589. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
  590. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
  591. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
  592. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
  593. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
  594. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
  595. package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
  596. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
  597. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
  598. package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
  599. package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
  600. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
  601. package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
  602. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
  603. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
  604. package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
  605. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
  606. package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
  607. package/dist/src/nile-virtual-select-disabled/types.js +8 -0
  608. package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
  609. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  610. package/dist/src/nile-virtual-table-body/index.js +3 -0
  611. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  612. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  613. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  614. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  615. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  616. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  617. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  618. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  619. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  620. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  621. package/dist/src/utilities/stepper-utils.d.ts +71 -0
  622. package/dist/src/utilities/stepper-utils.js +108 -0
  623. package/dist/src/utilities/stepper-utils.js.map +1 -0
  624. package/dist/src/version.js +1 -1
  625. package/dist/src/version.js.map +1 -1
  626. package/dist/tsconfig.tsbuildinfo +1 -1
  627. package/package.json +3 -4
  628. package/src/index.ts +1 -2
  629. package/src/nile-calendar/nile-calendar.ts +9 -0
  630. package/src/nile-icon/icons/svg/index.ts +0 -1
  631. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +2 -8
  632. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +5 -16
  633. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +0 -6
  634. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +0 -1
  635. package/src/nile-side-bar/nile-side-bar.css.ts +28 -23
  636. package/src/nile-side-bar/nile-side-bar.ts +1 -8
  637. package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +5 -3
  638. package/src/nile-side-bar-expand/nile-side-bar-expand.ts +4 -6
  639. package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +2 -2
  640. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +4 -9
  641. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +1 -9
  642. package/src/nile-side-bar-group/nile-side-bar-group.css.ts +5 -2
  643. package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +47 -49
  644. package/src/nile-side-bar-header/nile-side-bar-header.css.ts +4 -2
  645. package/src/nile-skeleton-loader/index.ts +2 -0
  646. package/src/nile-skeleton-loader/nile-skeleton-loader.css.ts +52 -0
  647. package/src/nile-skeleton-loader/nile-skeleton-loader.ts +109 -0
  648. package/src/nile-slide-toggle/nile-slide-toggle.ts +5 -6
  649. package/vscode-html-custom-data.json +41 -25
  650. package/dist/nile-icon/icons/svg/ng-alert-triangle.cjs.js +0 -2
  651. package/dist/nile-icon/icons/svg/ng-alert-triangle.cjs.js.map +0 -1
  652. package/dist/nile-icon/icons/svg/ng-alert-triangle.esm.js +0 -1
  653. package/dist/nile-side-bar-panel/index.cjs.js +0 -2
  654. package/dist/nile-side-bar-panel/index.esm.js +0 -1
  655. package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js +0 -2
  656. package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js.map +0 -1
  657. package/dist/nile-side-bar-panel/nile-side-bar-panel.css.cjs.js +0 -2
  658. package/dist/nile-side-bar-panel/nile-side-bar-panel.css.cjs.js.map +0 -1
  659. package/dist/nile-side-bar-panel/nile-side-bar-panel.css.esm.js +0 -8
  660. package/dist/nile-side-bar-panel/nile-side-bar-panel.esm.js +0 -3
  661. package/dist/src/nile-side-bar-panel/index.d.ts +0 -1
  662. package/dist/src/nile-side-bar-panel/index.js +0 -2
  663. package/dist/src/nile-side-bar-panel/nile-side-bar-panel.css.d.ts +0 -12
  664. package/dist/src/nile-side-bar-panel/nile-side-bar-panel.css.js +0 -20
  665. package/dist/src/nile-side-bar-panel/nile-side-bar-panel.css.js.map +0 -1
  666. package/dist/src/nile-side-bar-panel/nile-side-bar-panel.js.map +0 -1
  667. package/src/nile-icon/icons/svg/ng-alert-triangle.ts +0 -5
  668. package/src/nile-side-bar-panel/index.ts +0 -1
  669. package/src/nile-side-bar-panel/nile-side-bar-panel.css.ts +0 -22
  670. package/src/nile-side-bar-panel/nile-side-bar-panel.ts +0 -54
  671. /package/dist/{nile-side-bar-panel → nile-grid-body}/index.cjs.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/nile-rich-text-editor/utils.ts"],"names":[],"mappings":"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","sourcesContent":["export function closestBlock(\n node: Node | null,\n root: HTMLElement\n): HTMLElement | null {\n while (node && node !== root) {\n if (node instanceof HTMLElement) {\n const display = getComputedStyle(node).display;\n if (\n node.tagName.match(/^(P|DIV|H1|H2|H3|H4|H5|H6|LI)$/) ||\n display === 'block' ||\n display === 'list-item'\n ) {\n return node;\n }\n }\n node = node?.parentNode || null;\n }\n return root;\n}\n\nexport function nearestElement(n: Node | null): HTMLElement | null {\n while (n && !(n instanceof HTMLElement)) n = n.parentNode as Node | null;\n return n as HTMLElement | null;\n}\n\nexport function rgbToHex(rgb: string): string {\n const m = rgb.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/i);\n if (!m) return '#000000';\n const r = Number(m[1]).toString(16).padStart(2, '0');\n const g = Number(m[2]).toString(16).padStart(2, '0');\n const b = Number(m[3]).toString(16).padStart(2, '0');\n return `#${r}${g}${b}`;\n}\n\nexport function unwrap(node: HTMLElement) {\n const p = node.parentNode;\n if (!p) return;\n while (node.firstChild) p.insertBefore(node.firstChild, node);\n p.removeChild(node);\n}\n\nexport function surroundInline(\n range: Range,\n tag: string,\n attrs?: Record<string, string>\n) {\n const wrap = document.createElement(tag);\n if (attrs) Object.entries(attrs).forEach(([k, v]) => wrap.setAttribute(k, v));\n try {\n range.surroundContents(wrap);\n } catch {\n const frag = range.extractContents();\n wrap.appendChild(frag);\n range.insertNode(wrap);\n }\n}\n\nfunction unwrapAllMatching(\n node: Node,\n root: HTMLElement,\n matcher: (el: HTMLElement) => boolean\n) {\n let n: Node | null = node.parentNode;\n while (n && n !== root) {\n if (n instanceof HTMLElement && matcher(n)) {\n unwrap(n);\n\n n = node.parentNode;\n continue;\n }\n n = n.parentNode;\n }\n}\n\nexport function toggleInlineTag(\n root: HTMLElement,\n tag: 'strong' | 'em' | 'u' | 'span',\n attrs?: Record<string, string>\n) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) {\n return;\n }\n const range = sel.getRangeAt(0);\n\n const aliases: Record<string, string[]> = {\n strong: ['strong', 'b'],\n em: ['em', 'i'],\n u: ['u'],\n span: ['span'],\n };\n const candidates = aliases[tag] ?? [tag];\n\n function isMatchingInline(el: HTMLElement): boolean {\n return candidates.includes(el.tagName.toLowerCase());\n }\n\n if (range.collapsed) {\n let n: Node | null = range.startContainer;\n while (n && n !== root) {\n if (n instanceof HTMLElement && isMatchingInline(n)) {\n unwrapAllMatching(range.startContainer, root, isMatchingInline);\n return;\n }\n n = n.parentNode;\n }\n\n const elm = document.createElement(tag);\n if (attrs)\n Object.entries(attrs).forEach(([k, v]) => elm.setAttribute(k, v));\n elm.appendChild(document.createTextNode('\\u200b'));\n range.insertNode(elm);\n\n const r = document.createRange();\n r.setStart(elm.firstChild!, 1);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n\n return;\n }\n\n const startBlock = closestBlock(range.startContainer, root);\n const endBlock = closestBlock(range.endContainer, root);\n if (startBlock && endBlock && startBlock !== endBlock) {\n const blocks: HTMLElement[] = [];\n let node: Node | null = startBlock;\n while (node) {\n if (node instanceof HTMLElement) blocks.push(node);\n if (node === endBlock) break;\n node = node.nextSibling;\n }\n\n blocks.forEach((block, i) => {\n const r = document.createRange();\n r.selectNodeContents(block);\n\n const textNodes: Text[] = [];\n const tw = document.createTreeWalker(block, NodeFilter.SHOW_TEXT, null);\n let tn: Node | null;\n while ((tn = tw.nextNode())) {\n if (tn.nodeValue?.trim()) textNodes.push(tn as Text);\n }\n\n const allWrapped =\n textNodes.length > 0 &&\n textNodes.every(txt => {\n let n: Node | null = txt;\n while (n && n !== block) {\n if (n instanceof HTMLElement && isMatchingInline(n)) return true;\n n = n.parentNode;\n }\n return false;\n });\n\n if (allWrapped) {\n textNodes.forEach(txt =>\n unwrapAllMatching(txt, block, isMatchingInline)\n );\n } else {\n surroundInline(r, tag, attrs);\n }\n });\n return;\n }\n const walker = document.createTreeWalker(\n range.commonAncestorContainer,\n NodeFilter.SHOW_TEXT,\n {\n acceptNode: n => {\n if (!n.nodeValue || !n.nodeValue.trim())\n return NodeFilter.FILTER_REJECT;\n const nodeRange = document.createRange();\n nodeRange.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, nodeRange) <= 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, nodeRange) >= 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n }\n );\n\n const textNodes: Text[] = [];\n let t: Node | null;\n while ((t = walker.nextNode())) textNodes.push(t as Text);\n\n if (textNodes.length === 0) {\n let n: Node | null = range.startContainer;\n while (n && n !== root) {\n if (n instanceof HTMLElement && isMatchingInline(n)) {\n unwrapAllMatching(range.startContainer, root, isMatchingInline);\n return;\n }\n n = n.parentNode;\n }\n }\n\n const allWrapped =\n textNodes.length > 0 &&\n textNodes.every(txt => {\n let n: Node | null = txt;\n while (n && n !== root) {\n if (n instanceof HTMLElement && isMatchingInline(n)) {\n return true;\n }\n n = n.parentNode;\n }\n return false;\n });\n\n if (allWrapped) {\n textNodes.forEach(txt => unwrapAllMatching(txt, root, isMatchingInline));\n } else {\n surroundInline(range, tag, attrs);\n }\n\n // restore selection\n const selRange = document.createRange();\n selRange.setStart(range.startContainer, range.startOffset);\n selRange.setEnd(range.endContainer, range.endOffset);\n sel.removeAllRanges();\n sel.addRange(selRange);\n}\n\nexport function setBlockTag(root: HTMLElement, tag: 'p' | 'h1' | 'h2' | 'h3') {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n const block = closestBlock(range.startContainer, root);\n if (!block) return;\n if (block.tagName.toLowerCase() === tag) return;\n const nb = document.createElement(tag);\n while (block.firstChild) nb.appendChild(block.firstChild);\n block.replaceWith(nb);\n const r = document.createRange();\n r.selectNodeContents(nb);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n}\n\nexport function setAlignment(\n root: HTMLElement,\n align: 'left' | 'center' | 'right' | 'justify'\n) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n let block = closestBlock(range.startContainer, root);\n if (!block) return;\n\n if (block.tagName.toLowerCase() === 'li') {\n block.style.textAlign = align;\n const list = block.closest('ul,ol') as HTMLElement | null;\n if (list) list.style.textAlign = align;\n } else {\n block.style.textAlign = align === 'justify' ? 'justify' : align;\n }\n}\n\nexport function setFontFamily(root: HTMLElement, family: string) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (range.collapsed) {\n const span = document.createElement('span');\n span.style.fontFamily = family;\n span.appendChild(document.createTextNode('\\u200b'));\n range.insertNode(span);\n const r = document.createRange();\n r.setStart(span.firstChild!, 1);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n return;\n }\n surroundInline(range, 'span', { style: `font-family:${family}` });\n}\n\nfunction enclosingStyledSpan(\n editor: HTMLElement,\n node: Node | null,\n dataAttr: 'data-rte-color' | 'data-rte-bg'\n): HTMLSpanElement | null {\n while (node && node !== editor) {\n if (node instanceof HTMLSpanElement && node.hasAttribute(dataAttr)) {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\n\nfunction applyInlineStyle(\n editor: HTMLElement,\n cssProp: 'color' | 'backgroundColor',\n value: string,\n dataAttr: 'data-rte-color' | 'data-rte-bg'\n) {\n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const r0 = sel.getRangeAt(0);\n if (!editor.contains(r0.commonAncestorContainer)) return;\n\n const range = r0.cloneRange();\n\n if (range.collapsed) {\n const enclosing = enclosingStyledSpan(\n editor,\n range.startContainer,\n dataAttr\n );\n if (enclosing) {\n (enclosing.style as any)[cssProp] = value;\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n return;\n }\n\n const s = document.createElement('span');\n s.setAttribute(dataAttr, '1');\n (s.style as any)[cssProp] = value;\n s.appendChild(document.createTextNode('\\u200B'));\n range.insertNode(s);\n\n const caret = document.createRange();\n caret.setStart(s.firstChild!, 1);\n caret.collapse(true);\n sel.removeAllRanges();\n sel.addRange(caret);\n\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n return;\n }\n\n const leftEdge = enclosingStyledSpan(editor, range.startContainer, dataAttr);\n const rightEdge = enclosingStyledSpan(editor, range.endContainer, dataAttr);\n if (leftEdge && leftEdge === rightEdge) {\n if (rangeCoversWholeNode(range, leftEdge)) {\n (leftEdge.style as any)[cssProp] = value;\n } else {\n const mid = splitAndRecolorWithinSpan(\n leftEdge,\n range,\n dataAttr,\n cssProp,\n value\n );\n\n const sel = window.getSelection();\n const r = document.createRange();\n r.selectNodeContents(mid);\n sel?.removeAllRanges();\n sel?.addRange(r);\n }\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n return;\n }\n\n const commonEl = (() => {\n let n: Node | null = range.commonAncestorContainer;\n while (n && !(n instanceof HTMLElement)) n = n.parentNode;\n return n as HTMLElement | null;\n })();\n\n const walker = document.createTreeWalker(\n commonEl || editor,\n NodeFilter.SHOW_TEXT,\n {\n acceptNode: n => {\n if (!n.nodeValue || !n.nodeValue.trim())\n return NodeFilter.FILTER_REJECT;\n const nodeRange = document.createRange();\n nodeRange.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, nodeRange) < 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, nodeRange) > 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n }\n );\n\n const toProcess: Text[] = [];\n let t: Node | null;\n while ((t = walker.nextNode())) toProcess.push(t as Text);\n\n toProcess.forEach(text => {\n let start = 0,\n end = text.length;\n if (text === range.startContainer) start = range.startOffset;\n if (text === range.endContainer) end = range.endOffset;\n if (start > 0) text = text.splitText(start);\n if (end < text.length) text.splitText(end);\n\n const existing = enclosingStyledSpan(editor, text, dataAttr);\n if (existing) {\n (existing.style as any)[cssProp] = value;\n return;\n }\n\n const span = document.createElement('span');\n span.setAttribute(dataAttr, '1');\n (span.style as any)[cssProp] = value;\n const parent = text.parentElement!;\n parent.replaceChild(span, text);\n span.appendChild(text);\n });\n\n mergeAdjacentStyledSpans(editor, dataAttr, cssProp);\n\n // restore selection\n sel.removeAllRanges();\n sel.addRange(range);\n}\n\n// Is the range covering the entire node's contents?\nfunction rangeCoversWholeNode(range: Range, node: Node): boolean {\n const all = document.createRange();\n all.selectNodeContents(node);\n return (\n range.compareBoundaryPoints(Range.START_TO_START, all) <= 0 &&\n range.compareBoundaryPoints(Range.END_TO_END, all) >= 0\n );\n}\n\nfunction hasRangeContent(r: Range): boolean {\n if (r.collapsed) return false;\n const text = r.cloneContents().textContent || '';\n return text.length > 0;\n}\n\n// Split one styled span into [left][middle][right]; recolor only middle\nfunction splitAndRecolorWithinSpan(\n span: HTMLSpanElement,\n range: Range,\n dataAttr: 'data-rte-color' | 'data-rte-bg',\n cssProp: 'color' | 'backgroundColor',\n newValue: string\n): HTMLSpanElement {\n const oldValue = (span.style as any)[cssProp];\n\n const left = document.createRange();\n left.setStart(span, 0);\n left.setEnd(range.startContainer, range.startOffset);\n\n const right = document.createRange();\n right.setStart(range.endContainer, range.endOffset);\n right.setEnd(span, span.childNodes.length);\n\n // Build replacement fragment\n const frag = document.createDocumentFragment();\n\n // helper to make a styled clone shell\n const makeShell = (val: string) => {\n const s = document.createElement('span');\n s.setAttribute(dataAttr, '1');\n (s.style as any)[cssProp] = val;\n return s;\n };\n\n if (hasRangeContent(left)) {\n const sLeft = makeShell(oldValue);\n sLeft.appendChild(left.cloneContents());\n frag.appendChild(sLeft);\n }\n\n const mid = makeShell(newValue);\n mid.appendChild(range.cloneContents());\n frag.appendChild(mid);\n\n if (hasRangeContent(right)) {\n const sRight = makeShell(oldValue);\n sRight.appendChild(right.cloneContents());\n frag.appendChild(sRight);\n }\n\n span.replaceWith(frag);\n return mid;\n}\n\nfunction mergeAdjacentStyledSpans(\n root: HTMLElement,\n dataAttr: 'data-rte-color' | 'data-rte-bg',\n cssProp: 'color' | 'backgroundColor'\n) {\n const spans = Array.from(\n root.querySelectorAll<HTMLSpanElement>(`span[${dataAttr}]`)\n );\n\n const valOf = (el: HTMLElement) => (el.style as any)[cssProp];\n\n spans.forEach(s => {\n const nested = Array.from(\n s.querySelectorAll<HTMLSpanElement>(`span[${dataAttr}]`)\n );\n nested.forEach(child => {\n if (valOf(child) === valOf(s)) {\n while (child.firstChild) s.insertBefore(child.firstChild, child);\n child.remove();\n }\n });\n\n const prev = s.previousSibling;\n if (\n prev instanceof HTMLSpanElement &&\n prev.hasAttribute(dataAttr) &&\n valOf(prev) === valOf(s)\n ) {\n while (s.firstChild) prev.appendChild(s.firstChild);\n s.remove();\n return;\n }\n\n const next = s.nextSibling;\n if (\n next instanceof HTMLSpanElement &&\n next.hasAttribute(dataAttr) &&\n valOf(next) === valOf(s)\n ) {\n while (next.firstChild) s.appendChild(next.firstChild);\n next.remove();\n }\n });\n}\n\nexport function setForeColor(editor: HTMLElement, hex: string) {\n applyInlineStyle(editor, 'color', hex, 'data-rte-color');\n}\nexport function setBackColor(editor: HTMLElement, hex: string) {\n applyInlineStyle(editor, 'backgroundColor', hex, 'data-rte-bg');\n}\n\nexport function toggleList(root: HTMLElement, kind: 'ul' | 'ol') {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n const blocks: HTMLElement[] = [];\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: n => {\n if (!(n instanceof HTMLElement)) return NodeFilter.FILTER_SKIP;\n if (!/^(P|DIV|LI|H[1-6])$/.test(n.tagName)) return NodeFilter.FILTER_SKIP;\n\n const r = document.createRange();\n r.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, r) < 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, r) > 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n });\n\n let n: Node | null;\n while ((n = walker.nextNode())) {\n blocks.push(n as HTMLElement);\n }\n\n if (blocks.length === 0) {\n const block = closestBlock(range.startContainer, root);\n if (block) blocks.push(block);\n }\n\n const firstLi = blocks[0].closest('li');\n if (firstLi) {\n const currentList = firstLi.closest('ul,ol') as HTMLElement | null;\n if (!currentList) return;\n\n if (currentList.tagName.toLowerCase() === kind) {\n const frag = document.createDocumentFragment();\n for (const li of Array.from(currentList.querySelectorAll('li'))) {\n const p = document.createElement('p');\n while (li.firstChild) p.appendChild(li.firstChild);\n frag.appendChild(p);\n }\n currentList.replaceWith(frag);\n } else {\n const newList = document.createElement(kind);\n while (currentList.firstChild)\n newList.appendChild(currentList.firstChild);\n currentList.replaceWith(newList);\n }\n return;\n }\n\n const newList = document.createElement(kind);\n for (const block of blocks) {\n const li = document.createElement('li');\n while (block.firstChild) li.appendChild(block.firstChild);\n newList.appendChild(li);\n block.replaceWith(newList);\n }\n}\n\nexport function insertOrEditLink(root: HTMLElement, href?: string) {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n\n let n: Node | null = range.startContainer;\n let a: HTMLAnchorElement | null = null;\n while (n && n !== root) {\n if (n instanceof HTMLAnchorElement) {\n a = n;\n break;\n }\n n = n.parentNode;\n }\n\n const url =\n href ??\n (typeof window !== 'undefined'\n ? window.prompt('Enter URL', a?.href || 'https://') || ''\n : '');\n if (!url) return;\n\n if (a) {\n a.href = url;\n return;\n }\n\n if (range.collapsed) {\n const link = document.createElement('a');\n link.href = url;\n link.textContent = url;\n range.insertNode(link);\n const r = document.createRange();\n r.setStartAfter(link);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n return;\n }\n\n const link = document.createElement('a');\n link.href = url;\n try {\n range.surroundContents(link);\n } catch {\n const frag = range.extractContents();\n link.appendChild(frag);\n range.insertNode(link);\n }\n}\n"]}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type NilePopup from '../nile-popup/nile-popup';
8
+ import type NileSelect from './nile-select';
9
+ /**
10
+ * Manager class for handling bodyAppend functionality in nile-select
11
+ * This class manages moving select options to document.body to avoid CSS clipping issues
12
+ */
13
+ export declare class BodyAppendManager {
14
+ private bodyContainer?;
15
+ private originalOptions;
16
+ private boundHandlePopupReposition?;
17
+ private selectElement;
18
+ private popup?;
19
+ private listbox?;
20
+ private injectedStyleId?;
21
+ constructor(selectElement: NileSelect);
22
+ /**
23
+ * Sets the popup and listbox references
24
+ */
25
+ setReferences(popup: NilePopup, listbox: HTMLSlotElement): void;
26
+ /**
27
+ * Handles the bodyAppend change
28
+ */
29
+ handleBodyAppendChange(bodyAppend: boolean): void;
30
+ /**
31
+ * Handles popup reposition events to update body container position
32
+ */
33
+ private handlePopupReposition;
34
+ /**
35
+ * Extracts styles as CSS string from various style formats
36
+ */
37
+ private extractStylesAsCSS;
38
+ /**
39
+ * Injects component styles into document head
40
+ */
41
+ private injectStylesToDocument;
42
+ /**
43
+ * Adopts component styles to the body container (similar to portal-manager pattern)
44
+ */
45
+ private adoptStylesToBodyContainer;
46
+ /**
47
+ * Creates a body container for options when bodyAppend is true
48
+ */
49
+ private createBodyContainer;
50
+ /**
51
+ * Cleans up the body container
52
+ */
53
+ private cleanupBodyContainer;
54
+ /**
55
+ * Moves options to body container when bodyAppend is true
56
+ */
57
+ private moveOptionsToBody;
58
+ /**
59
+ * Restores options to their original position
60
+ */
61
+ private restoreOptionsFromBody;
62
+ /**
63
+ * Updates body container visibility and positioning
64
+ */
65
+ private updateBodyContainerVisibility;
66
+ /**
67
+ * Gets all options from both original location and body container
68
+ */
69
+ private getAllOptions;
70
+ /**
71
+ * Updates body container visibility when select opens/closes
72
+ */
73
+ updateVisibility(visible: boolean): void;
74
+ /**
75
+ * Checks if bodyAppend is active (has body container)
76
+ */
77
+ isActive(): boolean;
78
+ /**
79
+ * Gets the body container element
80
+ */
81
+ getBodyContainer(): HTMLElement | undefined;
82
+ /**
83
+ * Gets the listbox container element inside the body container
84
+ */
85
+ getListboxContainer(): HTMLElement | undefined;
86
+ /**
87
+ * Cleans up all resources
88
+ */
89
+ destroy(): void;
90
+ }
@@ -0,0 +1,298 @@
1
+ /**
2
+ * Copyright Aquera Inc 2023
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /**
8
+ * Manager class for handling bodyAppend functionality in nile-select
9
+ * This class manages moving select options to document.body to avoid CSS clipping issues
10
+ */
11
+ export class BodyAppendManager {
12
+ constructor(selectElement) {
13
+ this.originalOptions = [];
14
+ this.selectElement = selectElement;
15
+ }
16
+ /**
17
+ * Sets the popup and listbox references
18
+ */
19
+ setReferences(popup, listbox) {
20
+ this.popup = popup;
21
+ this.listbox = listbox;
22
+ }
23
+ /**
24
+ * Handles the bodyAppend change
25
+ */
26
+ handleBodyAppendChange(bodyAppend) {
27
+ if (bodyAppend) {
28
+ // Initialize body container when bodyAppend becomes true
29
+ this.createBodyContainer();
30
+ // Move options to body immediately
31
+ this.moveOptionsToBody();
32
+ // If no options were found, retry after a short delay
33
+ if (this.getAllOptions().length === 0) {
34
+ setTimeout(() => {
35
+ this.moveOptionsToBody();
36
+ }, 100);
37
+ }
38
+ // Listen for popup reposition events
39
+ this.boundHandlePopupReposition = this.handlePopupReposition.bind(this);
40
+ this.popup?.addEventListener('reposition', this.boundHandlePopupReposition);
41
+ }
42
+ else {
43
+ // Restore options from body when bodyAppend becomes false
44
+ this.restoreOptionsFromBody();
45
+ // Clean up body container when bodyAppend becomes false
46
+ this.cleanupBodyContainer();
47
+ // Remove popup reposition listener
48
+ if (this.boundHandlePopupReposition) {
49
+ this.popup?.removeEventListener('reposition', this.boundHandlePopupReposition);
50
+ this.boundHandlePopupReposition = undefined;
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * Handles popup reposition events to update body container position
56
+ */
57
+ handlePopupReposition() {
58
+ if (this.bodyContainer && this.selectElement.open) {
59
+ this.updateBodyContainerVisibility(true);
60
+ }
61
+ }
62
+ /**
63
+ * Extracts styles as CSS string from various style formats
64
+ */
65
+ extractStylesAsCSS(styles) {
66
+ if (typeof styles === 'string') {
67
+ return styles;
68
+ }
69
+ if (Array.isArray(styles)) {
70
+ return styles.map(style => this.extractStylesAsCSS(style)).join('\n');
71
+ }
72
+ if (styles && typeof styles === 'object' && styles.cssText) {
73
+ return styles.cssText;
74
+ }
75
+ return '';
76
+ }
77
+ /**
78
+ * Injects component styles into document head
79
+ */
80
+ injectStylesToDocument() {
81
+ if (!this.bodyContainer)
82
+ return;
83
+ // Create a unique identifier for this component instance
84
+ this.injectedStyleId = `nile-select-body-append-styles-${Math.random().toString(36).substring(2, 11)}`;
85
+ // Check if styles are already injected
86
+ if (document.getElementById(this.injectedStyleId))
87
+ return;
88
+ // Get the component's styles
89
+ const componentStyles = this.selectElement.constructor.styles;
90
+ if (!componentStyles)
91
+ return;
92
+ // Create a style element
93
+ const styleElement = document.createElement('style');
94
+ styleElement.id = this.injectedStyleId;
95
+ styleElement.textContent = this.extractStylesAsCSS(componentStyles);
96
+ // Inject into document head
97
+ document.head.appendChild(styleElement);
98
+ }
99
+ /**
100
+ * Adopts component styles to the body container (similar to portal-manager pattern)
101
+ */
102
+ adoptStylesToBodyContainer(listboxContainer) {
103
+ if (!this.bodyContainer)
104
+ return;
105
+ // Inject styles to document head first
106
+ this.injectStylesToDocument();
107
+ // Apply basic styling to match the original listbox
108
+ if (this.listbox) {
109
+ const computedStyle = window.getComputedStyle(this.listbox);
110
+ listboxContainer.style.backgroundColor = computedStyle.backgroundColor;
111
+ listboxContainer.style.border = computedStyle.border;
112
+ listboxContainer.style.borderRadius = computedStyle.borderRadius;
113
+ listboxContainer.style.boxShadow = computedStyle.boxShadow;
114
+ listboxContainer.style.maxHeight = computedStyle.maxHeight;
115
+ listboxContainer.style.overflow = computedStyle.overflow;
116
+ listboxContainer.style.padding = computedStyle.padding;
117
+ listboxContainer.style.margin = computedStyle.margin;
118
+ }
119
+ }
120
+ /**
121
+ * Creates a body container for options when bodyAppend is true
122
+ */
123
+ createBodyContainer() {
124
+ if (this.bodyContainer) {
125
+ return this.bodyContainer;
126
+ }
127
+ this.bodyContainer = document.createElement('div');
128
+ this.bodyContainer.style.position = 'fixed';
129
+ this.bodyContainer.style.zIndex = '9999';
130
+ this.bodyContainer.style.pointerEvents = 'none';
131
+ this.bodyContainer.style.visibility = 'hidden';
132
+ this.bodyContainer.style.overflow = 'hidden';
133
+ // Create the listbox container inside the body container
134
+ const listboxContainer = document.createElement('div');
135
+ listboxContainer.id = 'listbox';
136
+ listboxContainer.setAttribute('role', 'listbox');
137
+ listboxContainer.className = 'select__listbox';
138
+ listboxContainer.setAttribute('aria-expanded', 'false');
139
+ listboxContainer.setAttribute('aria-multiselectable', 'false');
140
+ listboxContainer.setAttribute('aria-labelledby', 'label');
141
+ listboxContainer.setAttribute('tabindex', '-1');
142
+ // Adopt styles to the listbox container (similar to portal-manager pattern)
143
+ this.adoptStylesToBodyContainer(listboxContainer);
144
+ // Append the listbox container to the body container
145
+ this.bodyContainer.appendChild(listboxContainer);
146
+ // Inject component styles to document head
147
+ this.injectStylesToDocument();
148
+ document.body.appendChild(this.bodyContainer);
149
+ return this.bodyContainer;
150
+ }
151
+ /**
152
+ * Cleans up the body container
153
+ */
154
+ cleanupBodyContainer() {
155
+ if (this.bodyContainer && this.bodyContainer.parentNode) {
156
+ this.bodyContainer.parentNode.removeChild(this.bodyContainer);
157
+ this.bodyContainer = undefined;
158
+ }
159
+ // Clean up injected styles
160
+ if (this.injectedStyleId) {
161
+ const styleElement = document.getElementById(this.injectedStyleId);
162
+ if (styleElement) {
163
+ styleElement.remove();
164
+ }
165
+ this.injectedStyleId = undefined;
166
+ }
167
+ }
168
+ /**
169
+ * Moves options to body container when bodyAppend is true
170
+ */
171
+ moveOptionsToBody() {
172
+ const container = this.createBodyContainer();
173
+ const listboxContainer = container.querySelector('#listbox');
174
+ const allOptions = this.getAllOptions();
175
+ // Only proceed if we have options to move and listbox container exists
176
+ if (allOptions.length === 0 || !listboxContainer) {
177
+ return;
178
+ }
179
+ // Store original options for restoration
180
+ this.originalOptions = [...allOptions];
181
+ // Move options to listbox container inside body container
182
+ allOptions.forEach(option => {
183
+ if (option.parentNode) {
184
+ option.parentNode.removeChild(option);
185
+ }
186
+ listboxContainer.appendChild(option);
187
+ });
188
+ }
189
+ /**
190
+ * Restores options to their original position
191
+ */
192
+ restoreOptionsFromBody() {
193
+ if (!this.bodyContainer) {
194
+ return;
195
+ }
196
+ const allOptions = this.getAllOptions();
197
+ // Move options back to their original position
198
+ allOptions.forEach(option => {
199
+ if (option.parentNode) {
200
+ option.parentNode.removeChild(option);
201
+ }
202
+ // Insert back into the slot
203
+ this.selectElement.appendChild(option);
204
+ });
205
+ }
206
+ /**
207
+ * Updates body container visibility and positioning
208
+ */
209
+ updateBodyContainerVisibility(visible) {
210
+ if (!this.bodyContainer) {
211
+ return;
212
+ }
213
+ if (visible) {
214
+ this.bodyContainer.style.visibility = 'visible';
215
+ this.bodyContainer.style.pointerEvents = 'auto';
216
+ // Position the container relative to the popup
217
+ if (this.popup && this.popup.popup) {
218
+ const popupRect = this.popup.popup.getBoundingClientRect();
219
+ this.bodyContainer.style.left = `${popupRect.left}px`;
220
+ this.bodyContainer.style.top = `${popupRect.top}px`;
221
+ this.bodyContainer.style.width = `${popupRect.width}px`;
222
+ this.bodyContainer.style.height = `${popupRect.height}px`;
223
+ // Update styles to match the popup
224
+ const computedStyle = window.getComputedStyle(this.popup.popup);
225
+ this.bodyContainer.style.backgroundColor = computedStyle.backgroundColor;
226
+ this.bodyContainer.style.border = computedStyle.border;
227
+ this.bodyContainer.style.borderRadius = computedStyle.borderRadius;
228
+ this.bodyContainer.style.boxShadow = computedStyle.boxShadow;
229
+ this.bodyContainer.style.maxHeight = computedStyle.maxHeight;
230
+ }
231
+ }
232
+ else {
233
+ this.bodyContainer.style.visibility = 'hidden';
234
+ this.bodyContainer.style.pointerEvents = 'none';
235
+ }
236
+ }
237
+ /**
238
+ * Gets all options from both original location and body container
239
+ */
240
+ getAllOptions() {
241
+ let options;
242
+ // Always get options from the original location first
243
+ options = [...this.selectElement.querySelectorAll('nile-option')];
244
+ // If no options found in original location and bodyAppend is true, check listbox container
245
+ if (options.length === 0 && this.bodyContainer) {
246
+ const listboxContainer = this.bodyContainer.querySelector('#listbox');
247
+ if (listboxContainer) {
248
+ options = [...listboxContainer.querySelectorAll('nile-option')];
249
+ }
250
+ }
251
+ return options;
252
+ }
253
+ /**
254
+ * Updates body container visibility when select opens/closes
255
+ */
256
+ updateVisibility(visible) {
257
+ this.updateBodyContainerVisibility(visible);
258
+ }
259
+ /**
260
+ * Checks if bodyAppend is active (has body container)
261
+ */
262
+ isActive() {
263
+ return !!this.bodyContainer;
264
+ }
265
+ /**
266
+ * Gets the body container element
267
+ */
268
+ getBodyContainer() {
269
+ return this.bodyContainer;
270
+ }
271
+ /**
272
+ * Gets the listbox container element inside the body container
273
+ */
274
+ getListboxContainer() {
275
+ return this.bodyContainer?.querySelector('#listbox');
276
+ }
277
+ /**
278
+ * Cleans up all resources
279
+ */
280
+ destroy() {
281
+ // Clean up body container if it exists
282
+ this.cleanupBodyContainer();
283
+ // Clean up event listeners
284
+ if (this.boundHandlePopupReposition) {
285
+ this.popup?.removeEventListener('reposition', this.boundHandlePopupReposition);
286
+ this.boundHandlePopupReposition = undefined;
287
+ }
288
+ // Clean up injected styles
289
+ if (this.injectedStyleId) {
290
+ const styleElement = document.getElementById(this.injectedStyleId);
291
+ if (styleElement) {
292
+ styleElement.remove();
293
+ }
294
+ this.injectedStyleId = undefined;
295
+ }
296
+ }
297
+ }
298
+ //# sourceMappingURL=body-append-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-append-manager.js","sourceRoot":"","sources":["../../../src/nile-select/body-append-manager.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 type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport type NileSelect from './nile-select';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * Manager class for handling bodyAppend functionality in nile-select\n * This class manages moving select options to document.body to avoid CSS clipping issues\n */\nexport class BodyAppendManager {\n private bodyContainer?: HTMLElement;\n private originalOptions: NileOption[] = [];\n private boundHandlePopupReposition?: () => void;\n private selectElement: NileSelect;\n private popup?: NilePopup;\n private listbox?: HTMLSlotElement;\n private injectedStyleId?: string;\n\n constructor(selectElement: NileSelect) {\n this.selectElement = selectElement;\n }\n\n /**\n * Sets the popup and listbox references\n */\n setReferences(popup: NilePopup, listbox: HTMLSlotElement): void {\n this.popup = popup;\n this.listbox = listbox;\n }\n\n /**\n * Handles the bodyAppend change\n */\n handleBodyAppendChange(bodyAppend: boolean): void {\n if (bodyAppend) {\n // Initialize body container when bodyAppend becomes true\n this.createBodyContainer();\n // Move options to body immediately\n this.moveOptionsToBody();\n // If no options were found, retry after a short delay\n if (this.getAllOptions().length === 0) {\n setTimeout(() => {\n this.moveOptionsToBody();\n }, 100);\n }\n // Listen for popup reposition events\n this.boundHandlePopupReposition = this.handlePopupReposition.bind(this);\n this.popup?.addEventListener('reposition', this.boundHandlePopupReposition);\n } else {\n // Restore options from body when bodyAppend becomes false\n this.restoreOptionsFromBody();\n // Clean up body container when bodyAppend becomes false\n this.cleanupBodyContainer();\n // Remove popup reposition listener\n if (this.boundHandlePopupReposition) {\n this.popup?.removeEventListener('reposition', this.boundHandlePopupReposition);\n this.boundHandlePopupReposition = undefined;\n }\n }\n }\n\n /**\n * Handles popup reposition events to update body container position\n */\n private handlePopupReposition(): void {\n if (this.bodyContainer && this.selectElement.open) {\n this.updateBodyContainerVisibility(true);\n }\n }\n\n /**\n * Extracts styles as CSS string from various style formats\n */\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') {\n return styles;\n }\n \n if (Array.isArray(styles)) {\n return styles.map(style => this.extractStylesAsCSS(style)).join('\\n');\n }\n \n if (styles && typeof styles === 'object' && styles.cssText) {\n return styles.cssText;\n }\n \n return '';\n }\n\n /**\n * Injects component styles into document head\n */\n private injectStylesToDocument(): void {\n if (!this.bodyContainer) return;\n\n // Create a unique identifier for this component instance\n this.injectedStyleId = `nile-select-body-append-styles-${Math.random().toString(36).substring(2, 11)}`;\n \n // Check if styles are already injected\n if (document.getElementById(this.injectedStyleId)) return;\n\n // Get the component's styles\n const componentStyles = (this.selectElement.constructor as any).styles;\n if (!componentStyles) return;\n\n // Create a style element\n const styleElement = document.createElement('style');\n styleElement.id = this.injectedStyleId;\n styleElement.textContent = this.extractStylesAsCSS(componentStyles);\n \n // Inject into document head\n document.head.appendChild(styleElement);\n }\n\n /**\n * Adopts component styles to the body container (similar to portal-manager pattern)\n */\n private adoptStylesToBodyContainer(listboxContainer: HTMLElement): void {\n if (!this.bodyContainer) return;\n \n // Inject styles to document head first\n this.injectStylesToDocument();\n \n // Apply basic styling to match the original listbox\n if (this.listbox) {\n const computedStyle = window.getComputedStyle(this.listbox);\n listboxContainer.style.backgroundColor = computedStyle.backgroundColor;\n listboxContainer.style.border = computedStyle.border;\n listboxContainer.style.borderRadius = computedStyle.borderRadius;\n listboxContainer.style.boxShadow = computedStyle.boxShadow;\n listboxContainer.style.maxHeight = computedStyle.maxHeight;\n listboxContainer.style.overflow = computedStyle.overflow;\n listboxContainer.style.padding = computedStyle.padding;\n listboxContainer.style.margin = computedStyle.margin;\n }\n }\n\n /**\n * Creates a body container for options when bodyAppend is true\n */\n private createBodyContainer(): HTMLElement {\n if (this.bodyContainer) {\n return this.bodyContainer;\n }\n\n this.bodyContainer = document.createElement('div');\n this.bodyContainer.style.position = 'fixed';\n this.bodyContainer.style.zIndex = '9999';\n this.bodyContainer.style.pointerEvents = 'none';\n this.bodyContainer.style.visibility = 'hidden';\n this.bodyContainer.style.overflow = 'hidden';\n \n // Create the listbox container inside the body container\n const listboxContainer = document.createElement('div');\n listboxContainer.id = 'listbox';\n listboxContainer.setAttribute('role', 'listbox');\n listboxContainer.className = 'select__listbox';\n listboxContainer.setAttribute('aria-expanded', 'false');\n listboxContainer.setAttribute('aria-multiselectable', 'false');\n listboxContainer.setAttribute('aria-labelledby', 'label');\n listboxContainer.setAttribute('tabindex', '-1');\n \n // Adopt styles to the listbox container (similar to portal-manager pattern)\n this.adoptStylesToBodyContainer(listboxContainer);\n \n // Append the listbox container to the body container\n this.bodyContainer.appendChild(listboxContainer);\n \n // Inject component styles to document head\n this.injectStylesToDocument();\n \n document.body.appendChild(this.bodyContainer);\n \n return this.bodyContainer;\n }\n\n /**\n * Cleans up the body container\n */\n private cleanupBodyContainer(): void {\n if (this.bodyContainer && this.bodyContainer.parentNode) {\n this.bodyContainer.parentNode.removeChild(this.bodyContainer);\n this.bodyContainer = undefined;\n }\n \n // Clean up injected styles\n if (this.injectedStyleId) {\n const styleElement = document.getElementById(this.injectedStyleId);\n if (styleElement) {\n styleElement.remove();\n }\n this.injectedStyleId = undefined;\n }\n }\n\n /**\n * Moves options to body container when bodyAppend is true\n */\n private moveOptionsToBody(): void {\n const container = this.createBodyContainer();\n const listboxContainer = container.querySelector('#listbox') as HTMLElement;\n const allOptions = this.getAllOptions();\n \n // Only proceed if we have options to move and listbox container exists\n if (allOptions.length === 0 || !listboxContainer) {\n return;\n }\n \n // Store original options for restoration\n this.originalOptions = [...allOptions];\n \n // Move options to listbox container inside body container\n allOptions.forEach(option => {\n if (option.parentNode) {\n option.parentNode.removeChild(option);\n }\n listboxContainer.appendChild(option);\n });\n }\n\n /**\n * Restores options to their original position\n */\n private restoreOptionsFromBody(): void {\n if (!this.bodyContainer) {\n return;\n }\n\n const allOptions = this.getAllOptions();\n \n // Move options back to their original position\n allOptions.forEach(option => {\n if (option.parentNode) {\n option.parentNode.removeChild(option);\n }\n // Insert back into the slot\n this.selectElement.appendChild(option);\n });\n }\n\n /**\n * Updates body container visibility and positioning\n */\n private updateBodyContainerVisibility(visible: boolean): void {\n if (!this.bodyContainer) {\n return;\n }\n\n if (visible) {\n this.bodyContainer.style.visibility = 'visible';\n this.bodyContainer.style.pointerEvents = 'auto';\n \n // Position the container relative to the popup\n if (this.popup && this.popup.popup) {\n const popupRect = this.popup.popup.getBoundingClientRect();\n this.bodyContainer.style.left = `${popupRect.left}px`;\n this.bodyContainer.style.top = `${popupRect.top}px`;\n this.bodyContainer.style.width = `${popupRect.width}px`;\n this.bodyContainer.style.height = `${popupRect.height}px`;\n \n // Update styles to match the popup\n const computedStyle = window.getComputedStyle(this.popup.popup);\n this.bodyContainer.style.backgroundColor = computedStyle.backgroundColor;\n this.bodyContainer.style.border = computedStyle.border;\n this.bodyContainer.style.borderRadius = computedStyle.borderRadius;\n this.bodyContainer.style.boxShadow = computedStyle.boxShadow;\n this.bodyContainer.style.maxHeight = computedStyle.maxHeight;\n }\n } else {\n this.bodyContainer.style.visibility = 'hidden';\n this.bodyContainer.style.pointerEvents = 'none';\n }\n }\n\n /**\n * Gets all options from both original location and body container\n */\n private getAllOptions(): NileOption[] {\n let options: NileOption[];\n \n // Always get options from the original location first\n options = [...this.selectElement.querySelectorAll<NileOption>('nile-option')];\n \n // If no options found in original location and bodyAppend is true, check listbox container\n if (options.length === 0 && this.bodyContainer) {\n const listboxContainer = this.bodyContainer.querySelector('#listbox');\n if (listboxContainer) {\n options = [...listboxContainer.querySelectorAll<NileOption>('nile-option')];\n }\n }\n\n return options;\n }\n\n /**\n * Updates body container visibility when select opens/closes\n */\n updateVisibility(visible: boolean): void {\n this.updateBodyContainerVisibility(visible);\n }\n\n /**\n * Checks if bodyAppend is active (has body container)\n */\n isActive(): boolean {\n return !!this.bodyContainer;\n }\n\n /**\n * Gets the body container element\n */\n getBodyContainer(): HTMLElement | undefined {\n return this.bodyContainer;\n }\n\n /**\n * Gets the listbox container element inside the body container\n */\n getListboxContainer(): HTMLElement | undefined {\n return this.bodyContainer?.querySelector('#listbox') as HTMLElement | undefined;\n }\n\n /**\n * Cleans up all resources\n */\n destroy(): void {\n // Clean up body container if it exists\n this.cleanupBodyContainer();\n // Clean up event listeners\n if (this.boundHandlePopupReposition) {\n this.popup?.removeEventListener('reposition', this.boundHandlePopupReposition);\n this.boundHandlePopupReposition = undefined;\n }\n // Clean up injected styles\n if (this.injectedStyleId) {\n const styleElement = document.getElementById(this.injectedStyleId);\n if (styleElement) {\n styleElement.remove();\n }\n this.injectedStyleId = undefined;\n }\n }\n}\n"]}
@@ -16,9 +16,8 @@ export const styles = css `
16
16
  width: var(--sidebar-width);
17
17
  display: flex;
18
18
  flex-direction: column;
19
- background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
20
- height: 100%;
21
- overflow: hidden;
19
+ background-color: var(--nile-colors-neutral-100);
20
+ overflow: auto;
22
21
  transition: width 0.25s ease, transform 0.25s ease;
23
22
  z-index: 1000;
24
23
  }
@@ -44,6 +43,15 @@ export const styles = css `
44
43
  transform: translateX(calc(var(--sidebar-width) - var(--sidebar-collapsed-width)));
45
44
  }
46
45
 
46
+
47
+
48
+ ::slotted(*) {
49
+ display: block;
50
+ min-width: 0;
51
+ /* padding: var(--nile-spacing-xl) */
52
+ }
53
+
54
+
47
55
  :host {
48
56
  scrollbar-width: thin;
49
57
  scrollbar-color: #64748b transparent;
@@ -59,32 +67,29 @@ export const styles = css `
59
67
  background-color: #64748b;
60
68
  border-radius: 10px;
61
69
  }
62
-
63
-
64
- .scroll-container {
65
- flex: 1;
66
- overflow-y: auto;
67
- overflow-x: hidden;
68
- display: flex;
69
- flex-direction: column;
70
+ :host([fullheight]) {
71
+ position: fixed;
72
+ top: 0;
73
+ height: 100dvh;
70
74
  }
71
75
 
72
-
73
- ::slotted(nile-side-bar-header) {
74
- flex-shrink: 0;
76
+ :host(:not([fullheight])) {
77
+ position: relative;
78
+ height: 100%;
75
79
  }
76
-
77
80
  ::slotted(nile-side-bar-footer) {
78
- flex-shrink: 0;
79
- position: sticky;
80
- bottom: 0;
81
- margin-top: auto;
81
+ margin-top: auto;
82
+ flex-shrink: 0;
83
+ }
84
+ :host([collapsed]) ::slotted(nile-side-bar-footer-item) .footer-item {
85
+ justify-content: center;
86
+ padding: 0;
82
87
  }
83
88
 
84
-
85
-
86
-
87
-
89
+ :host([collapsed]) ::slotted(nile-side-bar-footer-item) ::slotted([slot='text']),
90
+ :host([collapsed]) ::slotted(nile-side-bar-footer-item) ::slotted([slot='action']) {
91
+ display: none;
92
+ }
88
93
 
89
94
 
90
95
 
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar.css.js","sourceRoot":"","sources":["../../../src/nile-side-bar/nile-side-bar.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 {css} from 'lit';\n\n/**\n * SideBar CSS\n */\nexport const styles = css`\n :host {\n --sidebar-width: 240px;\n --sidebar-collapsed-width: 70px;\n top: 0;\n width: var(--sidebar-width);\n display: flex;\n flex-direction: column;\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n height: 100%;\n overflow: hidden; \n transition: width 0.25s ease, transform 0.25s ease;\n z-index: 1000;\n}\n\n \n:host([position='left']) {\n left: 0;\n border-right: 1px solid var(--nile-colors-neutral-400);\n}\n\n:host([position='right']) {\n right: 0;\n border-left: 1px solid var(--nile-colors-neutral-400);\n}\n\n \n:host([collapsed]) {\n width: var(--sidebar-collapsed-width);\n}\n\n \n:host([position='right'][collapsed]) {\n transform: translateX(calc(var(--sidebar-width) - var(--sidebar-collapsed-width)));\n}\n\n:host {\n scrollbar-width: thin;\n scrollbar-color: #64748b transparent;\n}\n\n:host::-webkit-scrollbar {\n width: 6px;\n}\n:host::-webkit-scrollbar-track {\n background: transparent;\n}\n:host::-webkit-scrollbar-thumb {\n background-color: #64748b;\n border-radius: 10px;\n}\n\n \n.scroll-container {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n display: flex;\n flex-direction: column;\n}\n\n \n::slotted(nile-side-bar-header) {\n flex-shrink: 0;\n}\n\n::slotted(nile-side-bar-footer) {\n flex-shrink: 0;\n position: sticky;\n bottom: 0;\n margin-top: auto;\n}\n\n \n \n\n\n\n\n\n\n\n`;\n\nexport default [styles];"]}
1
+ {"version":3,"file":"nile-side-bar.css.js","sourceRoot":"","sources":["../../../src/nile-side-bar/nile-side-bar.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 {css} from 'lit';\n\n/**\n * SideBar CSS\n */\nexport const styles = css`\n :host {\n --sidebar-width: 240px;\n --sidebar-collapsed-width: 70px;\n top: 0;\n width: var(--sidebar-width);\n display: flex;\n flex-direction: column;\n background-color: var(--nile-colors-neutral-100);\n overflow: auto;\n transition: width 0.25s ease, transform 0.25s ease;\n z-index: 1000;\n}\n\n \n:host([position='left']) {\n left: 0;\n border-right: 1px solid var(--nile-colors-neutral-400);\n}\n\n:host([position='right']) {\n right: 0;\n border-left: 1px solid var(--nile-colors-neutral-400);\n}\n\n \n:host([collapsed]) {\n width: var(--sidebar-collapsed-width);\n}\n\n \n:host([position='right'][collapsed]) {\n transform: translateX(calc(var(--sidebar-width) - var(--sidebar-collapsed-width)));\n}\n\n \n \n::slotted(*) {\n display: block;\n min-width: 0;\n /* padding: var(--nile-spacing-xl) */\n}\n\n \n:host {\n scrollbar-width: thin;\n scrollbar-color: #64748b transparent;\n}\n\n:host::-webkit-scrollbar {\n width: 6px;\n}\n:host::-webkit-scrollbar-track {\n background: transparent;\n}\n:host::-webkit-scrollbar-thumb {\n background-color: #64748b;\n border-radius: 10px;\n}\n:host([fullheight]) {\n position: fixed;\n top: 0;\n height: 100dvh;\n}\n\n:host(:not([fullheight])) {\n position: relative;\n height: 100%;\n}\n::slotted(nile-side-bar-footer) {\n margin-top: auto; \n flex-shrink: 0; \n}\n:host([collapsed]) ::slotted(nile-side-bar-footer-item) .footer-item {\n justify-content: center;\n padding: 0;\n}\n\n:host([collapsed]) ::slotted(nile-side-bar-footer-item) ::slotted([slot='text']),\n:host([collapsed]) ::slotted(nile-side-bar-footer-item) ::slotted([slot='action']) {\n display: none;\n}\n\n\n\n\n\n`;\n\nexport default [styles];"]}
@@ -43,13 +43,7 @@ let NileSideBar = class NileSideBar extends NileElement {
43
43
  }
44
44
  }
45
45
  render() {
46
- return html `
47
- <slot name="header"></slot>
48
- <div class="scroll-container">
49
- <slot></slot>
50
- </div>
51
- <slot name="footer"></slot>
52
- `;
46
+ return html `<slot></slot>`;
53
47
  }
54
48
  };
55
49
  __decorate([