@aquera/nile-elements 1.2.7-beta-2.0 → 1.2.7

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 (529) hide show
  1. package/README.md +5 -0
  2. package/demo/index.css +5 -22
  3. package/demo/index.html +15 -38
  4. package/demo/index.js +0 -75
  5. package/demo/variables.css +1 -1
  6. package/dist/{fixture-cf7bfcf5.esm.js → fixture-985bba12.esm.js} +1 -1
  7. package/dist/{fixture-5b79f853.cjs.js → fixture-dff65c89.cjs.js} +2 -2
  8. package/dist/{fixture-c1d78368.cjs.js.map → fixture-dff65c89.cjs.js.map} +1 -1
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.js +295 -181
  12. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  13. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  14. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  16. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  17. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  18. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  19. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  20. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  21. package/dist/nile-button/nile-button.test.esm.js +1 -1
  22. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  23. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  24. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  25. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  26. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  27. package/dist/nile-card/nile-card.test.esm.js +1 -1
  28. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  29. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  30. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  31. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  32. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  33. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  34. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  35. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  36. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  37. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  38. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  39. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  40. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  41. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  42. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  43. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  44. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  45. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  46. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  47. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  48. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  49. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  50. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  51. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  52. package/dist/nile-grid/index.cjs.js +1 -1
  53. package/dist/nile-grid/index.esm.js +1 -1
  54. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
  55. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
  56. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
  57. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
  58. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +13 -6
  59. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +1 -1
  60. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +1 -1
  61. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -1
  62. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -1
  63. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  64. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  65. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
  66. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
  67. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +6 -0
  68. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +2 -2
  69. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
  70. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
  71. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +1 -1
  72. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  73. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  74. package/dist/nile-grid/nile-grid.esm.js +2 -2
  75. package/dist/nile-grid/nile-grid.layout.cjs.js +1 -1
  76. package/dist/nile-grid/nile-grid.layout.esm.js +1 -1
  77. package/dist/nile-grid/nile-grid.resize.cjs.js +1 -1
  78. package/dist/nile-grid/nile-grid.resize.esm.js +1 -1
  79. package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
  80. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  81. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  82. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  83. package/dist/nile-grid/types/nile-grid.enums.cjs.js +2 -0
  84. package/dist/nile-grid/types/nile-grid.enums.cjs.js.map +1 -0
  85. package/dist/nile-grid/types/nile-grid.enums.esm.js +1 -0
  86. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  87. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  88. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  89. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  90. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  91. package/dist/nile-input/nile-input.test.esm.js +1 -1
  92. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  93. package/dist/nile-link/nile-link.test.esm.js +1 -1
  94. package/dist/nile-lite-tooltip/index.cjs.js +2 -0
  95. package/dist/nile-lite-tooltip/index.esm.js +1 -0
  96. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +2 -0
  97. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -0
  98. package/dist/nile-lite-tooltip/nile-lite-tooltip.css.cjs.js +2 -0
  99. package/dist/nile-lite-tooltip/nile-lite-tooltip.css.cjs.js.map +1 -0
  100. package/dist/nile-lite-tooltip/nile-lite-tooltip.css.esm.js +101 -0
  101. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -0
  102. package/dist/nile-lite-tooltip/utils.cjs.js +2 -0
  103. package/dist/nile-lite-tooltip/utils.cjs.js.map +1 -0
  104. package/dist/nile-lite-tooltip/utils.esm.js +1 -0
  105. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  106. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  107. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  108. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  109. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  110. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  111. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  112. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  113. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  114. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  115. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  116. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  117. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  118. package/dist/nile-select/nile-select.test.esm.js +1 -1
  119. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js +1 -1
  120. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js.map +1 -1
  121. package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.esm.js +2 -1
  122. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  123. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  124. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  125. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  126. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  127. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  128. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  129. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  130. package/dist/src/index.d.ts +1 -0
  131. package/dist/src/index.js +1 -0
  132. package/dist/src/index.js.map +1 -1
  133. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +13 -6
  134. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
  135. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js +1 -1
  136. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -1
  137. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js +2 -2
  138. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -1
  139. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +6 -0
  140. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
  141. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.d.ts +1 -0
  142. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +4 -0
  143. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
  144. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +1 -1
  145. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +1 -1
  146. package/dist/src/nile-grid/nile-grid.d.ts +3 -0
  147. package/dist/src/nile-grid/nile-grid.js +10 -0
  148. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  149. package/dist/src/nile-grid/nile-grid.layout.js +16 -5
  150. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
  151. package/dist/src/nile-grid/nile-grid.resize.d.ts +1 -1
  152. package/dist/src/nile-grid/nile-grid.resize.js +8 -13
  153. package/dist/src/nile-grid/nile-grid.resize.js.map +1 -1
  154. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
  155. package/dist/src/nile-grid/nile-grid.width.d.ts +3 -3
  156. package/dist/src/nile-grid/nile-grid.width.js +31 -19
  157. package/dist/src/nile-grid/nile-grid.width.js.map +1 -1
  158. package/dist/src/nile-grid/types/nile-grid.enums.d.ts +1 -0
  159. package/dist/src/nile-grid/types/nile-grid.enums.js +2 -0
  160. package/dist/src/nile-grid/types/nile-grid.enums.js.map +1 -0
  161. package/dist/src/nile-grid/types/nile-grid.types.js.map +1 -0
  162. package/dist/src/nile-lite-tooltip/index.d.ts +1 -0
  163. package/dist/src/nile-lite-tooltip/index.js +2 -0
  164. package/dist/src/{nile-sidebar-menu → nile-lite-tooltip}/index.js.map +1 -1
  165. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.css.d.ts +13 -0
  166. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.css.js +123 -0
  167. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.css.js.map +1 -0
  168. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +61 -0
  169. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +276 -0
  170. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -0
  171. package/dist/src/nile-lite-tooltip/utils.d.ts +2 -0
  172. package/dist/src/nile-lite-tooltip/utils.js +27 -0
  173. package/dist/src/nile-lite-tooltip/utils.js.map +1 -0
  174. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.js +2 -1
  175. package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.js.map +1 -1
  176. package/dist/src/version.js +3 -2
  177. package/dist/src/version.js.map +1 -1
  178. package/dist/tsconfig.tsbuildinfo +1 -1
  179. package/dist/version.cjs.js +1 -1
  180. package/dist/version.cjs.js.map +1 -1
  181. package/dist/version.esm.js +1 -1
  182. package/package.json +19 -17
  183. package/src/index.ts +2 -1
  184. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +13 -6
  185. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.ts +1 -1
  186. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.ts +2 -2
  187. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +6 -0
  188. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +1 -0
  189. package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +1 -1
  190. package/src/nile-grid/nile-grid.layout.ts +14 -6
  191. package/src/nile-grid/nile-grid.resize.ts +7 -12
  192. package/src/nile-grid/nile-grid.ts +6 -0
  193. package/src/nile-grid/nile-grid.utils.ts +0 -1
  194. package/src/nile-grid/nile-grid.width.ts +34 -20
  195. package/src/nile-grid/types/nile-grid.enums.ts +1 -0
  196. package/src/nile-lite-tooltip/index.ts +1 -0
  197. package/src/nile-lite-tooltip/nile-lite-tooltip.css.ts +128 -0
  198. package/src/nile-lite-tooltip/nile-lite-tooltip.ts +307 -0
  199. package/src/nile-lite-tooltip/utils.ts +31 -0
  200. package/src/nile-side-bar-action-menu/nile-side-bar-action-menu.ts +2 -1
  201. package/src/version.ts +1 -0
  202. package/vscode-html-custom-data.json +223 -6
  203. package/dist/fixture-5b79f853.cjs.js.map +0 -1
  204. package/dist/fixture-73855806.cjs.js +0 -395
  205. package/dist/fixture-73855806.cjs.js.map +0 -1
  206. package/dist/fixture-90b199c4.esm.js +0 -569
  207. package/dist/fixture-9871e8a9.esm.js +0 -569
  208. package/dist/fixture-c1d78368.cjs.js +0 -395
  209. package/dist/fixture-dbd66009.cjs.js +0 -395
  210. package/dist/fixture-dbd66009.cjs.js.map +0 -1
  211. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +0 -2
  212. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +0 -1
  213. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +0 -1
  214. package/dist/nile-grid-body/index.cjs.js +0 -2
  215. package/dist/nile-grid-body/index.esm.js +0 -1
  216. package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
  217. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
  218. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
  219. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
  220. package/dist/nile-grid-body/nile-grid-body.css.esm.js +0 -10
  221. package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
  222. package/dist/nile-grid-cell-item/index.cjs.js +0 -2
  223. package/dist/nile-grid-cell-item/index.cjs.js.map +0 -1
  224. package/dist/nile-grid-cell-item/index.esm.js +0 -1
  225. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
  226. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
  227. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
  228. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
  229. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -35
  230. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
  231. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
  232. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
  233. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
  234. package/dist/nile-grid-head/index.cjs.js +0 -2
  235. package/dist/nile-grid-head/index.cjs.js.map +0 -1
  236. package/dist/nile-grid-head/index.esm.js +0 -1
  237. package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
  238. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
  239. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
  240. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
  241. package/dist/nile-grid-head/nile-grid-head.css.esm.js +0 -7
  242. package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
  243. package/dist/nile-grid-head-item/index.cjs.js +0 -2
  244. package/dist/nile-grid-head-item/index.cjs.js.map +0 -1
  245. package/dist/nile-grid-head-item/index.esm.js +0 -1
  246. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
  247. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
  248. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
  249. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
  250. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -34
  251. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -12
  252. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
  253. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
  254. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
  255. package/dist/nile-grid-row/index.cjs.js +0 -2
  256. package/dist/nile-grid-row/index.cjs.js.map +0 -1
  257. package/dist/nile-grid-row/index.esm.js +0 -1
  258. package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
  259. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
  260. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
  261. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
  262. package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -15
  263. package/dist/nile-grid-row/nile-grid-row.esm.js +0 -7
  264. package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
  265. package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
  266. package/dist/nile-rich-text-editor/utils.esm.js +0 -1
  267. package/dist/nile-sidebar/index.cjs.js +0 -2
  268. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  269. package/dist/nile-sidebar/index.esm.js +0 -75
  270. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  271. package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
  272. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  273. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  274. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  275. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  276. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  277. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  278. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  279. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  280. package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
  281. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  282. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  283. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  284. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  285. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  286. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  287. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  288. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  289. package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
  290. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  291. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  292. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  293. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  294. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  295. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  296. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  297. package/dist/nile-virtual-select/group-manager.cjs.js +0 -2
  298. package/dist/nile-virtual-select/group-manager.cjs.js.map +0 -1
  299. package/dist/nile-virtual-select/group-manager.esm.js +0 -1
  300. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +0 -2
  301. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +0 -1
  302. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +0 -231
  303. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  304. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  305. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  306. package/dist/scopedElementsWrapper-c815042c.cjs.js +0 -2
  307. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +0 -1
  308. package/dist/src/internal/portal-manager.d.ts +0 -53
  309. package/dist/src/internal/portal-manager.js +0 -196
  310. package/dist/src/internal/portal-manager.js.map +0 -1
  311. package/dist/src/internal/portal.d.ts +0 -60
  312. package/dist/src/internal/portal.js +0 -199
  313. package/dist/src/internal/portal.js.map +0 -1
  314. package/dist/src/internal/resizable-helper.d.ts +0 -59
  315. package/dist/src/internal/resizable-helper.js +0 -115
  316. package/dist/src/internal/resizable-helper.js.map +0 -1
  317. package/dist/src/internal/resizable-styles.d.ts +0 -16
  318. package/dist/src/internal/resizable-styles.js +0 -144
  319. package/dist/src/internal/resizable-styles.js.map +0 -1
  320. package/dist/src/internal/virtualizer-error-handler.d.ts +0 -30
  321. package/dist/src/internal/virtualizer-error-handler.js +0 -82
  322. package/dist/src/internal/virtualizer-error-handler.js.map +0 -1
  323. package/dist/src/lib/index.d.ts +0 -7
  324. package/dist/src/lib/index.js +0 -8
  325. package/dist/src/lib/index.js.map +0 -1
  326. package/dist/src/lib/virtualize.d.ts +0 -32
  327. package/dist/src/lib/virtualize.js +0 -105
  328. package/dist/src/lib/virtualize.js.map +0 -1
  329. package/dist/src/lib/virtualize.test.d.ts +0 -7
  330. package/dist/src/lib/virtualize.test.js +0 -57
  331. package/dist/src/lib/virtualize.test.js.map +0 -1
  332. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
  333. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
  334. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
  335. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
  336. package/dist/src/nile-code-editor/Old_theme copy.d.ts +0 -191
  337. package/dist/src/nile-code-editor/Old_theme copy.js +0 -193
  338. package/dist/src/nile-code-editor/Old_theme copy.js.map +0 -1
  339. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  340. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +0 -675
  341. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +0 -1
  342. package/dist/src/nile-code-editor/theme copy.d.ts +0 -191
  343. package/dist/src/nile-code-editor/theme copy.js +0 -193
  344. package/dist/src/nile-code-editor/theme copy.js.map +0 -1
  345. package/dist/src/nile-grid/data-processor.d.ts +0 -37
  346. package/dist/src/nile-grid/data-processor.js +0 -122
  347. package/dist/src/nile-grid/data-processor.js.map +0 -1
  348. package/dist/src/nile-grid/event-handlers.d.ts +0 -35
  349. package/dist/src/nile-grid/event-handlers.js +0 -158
  350. package/dist/src/nile-grid/event-handlers.js.map +0 -1
  351. package/dist/src/nile-grid/nile-grid.types.js.map +0 -1
  352. package/dist/src/nile-grid/renderer.d.ts +0 -8
  353. package/dist/src/nile-grid/renderer.js +0 -78
  354. package/dist/src/nile-grid/renderer.js.map +0 -1
  355. package/dist/src/nile-grid/resize-handler.d.ts +0 -4
  356. package/dist/src/nile-grid/resize-handler.js +0 -36
  357. package/dist/src/nile-grid/resize-handler.js.map +0 -1
  358. package/dist/src/nile-grid/types.d.ts +0 -32
  359. package/dist/src/nile-grid/types.js +0 -2
  360. package/dist/src/nile-grid/types.js.map +0 -1
  361. package/dist/src/nile-grid/utils.d.ts +0 -4
  362. package/dist/src/nile-grid/utils.js +0 -32
  363. package/dist/src/nile-grid/utils.js.map +0 -1
  364. package/dist/src/nile-grid-body/index.d.ts +0 -1
  365. package/dist/src/nile-grid-body/index.js +0 -2
  366. package/dist/src/nile-grid-body/index.js.map +0 -1
  367. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +0 -12
  368. package/dist/src/nile-grid-body/nile-grid-body.css.js +0 -22
  369. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
  370. package/dist/src/nile-grid-body/nile-grid-body.d.ts +0 -29
  371. package/dist/src/nile-grid-body/nile-grid-body.js +0 -43
  372. package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
  373. package/dist/src/nile-grid-cell-item/index.d.ts +0 -1
  374. package/dist/src/nile-grid-cell-item/index.js +0 -2
  375. package/dist/src/nile-grid-cell-item/index.js.map +0 -1
  376. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
  377. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
  378. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
  379. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -36
  380. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +0 -93
  381. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
  382. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
  383. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
  384. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
  385. package/dist/src/nile-grid-head/index.d.ts +0 -1
  386. package/dist/src/nile-grid-head/index.js +0 -2
  387. package/dist/src/nile-grid-head/index.js.map +0 -1
  388. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +0 -12
  389. package/dist/src/nile-grid-head/nile-grid-head.css.js +0 -19
  390. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
  391. package/dist/src/nile-grid-head/nile-grid-head.d.ts +0 -28
  392. package/dist/src/nile-grid-head/nile-grid-head.js +0 -41
  393. package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
  394. package/dist/src/nile-grid-head-item/index.d.ts +0 -1
  395. package/dist/src/nile-grid-head-item/index.js +0 -2
  396. package/dist/src/nile-grid-head-item/index.js.map +0 -1
  397. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
  398. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +0 -46
  399. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
  400. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
  401. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +0 -100
  402. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
  403. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
  404. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +0 -34
  405. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
  406. package/dist/src/nile-grid-row/index.d.ts +0 -1
  407. package/dist/src/nile-grid-row/index.js +0 -2
  408. package/dist/src/nile-grid-row/index.js.map +0 -1
  409. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +0 -12
  410. package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
  411. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
  412. package/dist/src/nile-grid-row/nile-grid-row.d.ts +0 -29
  413. package/dist/src/nile-grid-row/nile-grid-row.js +0 -45
  414. package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
  415. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
  416. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
  417. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
  418. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
  419. package/dist/src/nile-popover/popover-portal-handler.d.ts +0 -21
  420. package/dist/src/nile-popover/popover-portal-handler.js +0 -106
  421. package/dist/src/nile-popover/popover-portal-handler.js.map +0 -1
  422. package/dist/src/nile-portal-wrapper/index.d.ts +0 -1
  423. package/dist/src/nile-portal-wrapper/index.js +0 -2
  424. package/dist/src/nile-portal-wrapper/index.js.map +0 -1
  425. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +0 -47
  426. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +0 -451
  427. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +0 -1
  428. package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
  429. package/dist/src/nile-rich-text-editor/utils.js +0 -538
  430. package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
  431. package/dist/src/nile-select/body-append-manager.d.ts +0 -90
  432. package/dist/src/nile-select/body-append-manager.js +0 -298
  433. package/dist/src/nile-select/body-append-manager.js.map +0 -1
  434. package/dist/src/nile-sidebar/index.d.ts +0 -28
  435. package/dist/src/nile-sidebar/index.js +0 -116
  436. package/dist/src/nile-sidebar/index.js.map +0 -1
  437. package/dist/src/nile-sidebar-menu/index.d.ts +0 -1
  438. package/dist/src/nile-sidebar-menu/index.js +0 -2
  439. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +0 -12
  440. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +0 -47
  441. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +0 -1
  442. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +0 -37
  443. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +0 -84
  444. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +0 -1
  445. package/dist/src/nile-sidebar-menu-items/index.d.ts +0 -1
  446. package/dist/src/nile-sidebar-menu-items/index.js +0 -2
  447. package/dist/src/nile-sidebar-menu-items/index.js.map +0 -1
  448. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +0 -12
  449. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +0 -45
  450. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +0 -1
  451. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +0 -35
  452. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -78
  453. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +0 -1
  454. package/dist/src/nile-sidebar-wrapper/index.d.ts +0 -1
  455. package/dist/src/nile-sidebar-wrapper/index.js +0 -2
  456. package/dist/src/nile-sidebar-wrapper/index.js.map +0 -1
  457. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +0 -12
  458. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +0 -114
  459. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +0 -1
  460. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +0 -35
  461. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +0 -89
  462. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +0 -1
  463. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
  464. package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
  465. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
  466. package/dist/src/nile-virtual-select/body-append-helper.d.ts +0 -16
  467. package/dist/src/nile-virtual-select/body-append-helper.js +0 -95
  468. package/dist/src/nile-virtual-select/body-append-helper.js.map +0 -1
  469. package/dist/src/nile-virtual-select/group-manager.d.ts +0 -32
  470. package/dist/src/nile-virtual-select/group-manager.js +0 -134
  471. package/dist/src/nile-virtual-select/group-manager.js.map +0 -1
  472. package/dist/src/nile-virtual-select/portal-utils.d.ts +0 -65
  473. package/dist/src/nile-virtual-select/portal-utils.js +0 -376
  474. package/dist/src/nile-virtual-select/portal-utils.js.map +0 -1
  475. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +0 -273
  476. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +0 -1305
  477. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +0 -1
  478. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +0 -21
  479. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +0 -56
  480. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +0 -1
  481. package/dist/src/nile-virtual-select-disabled/index.d.ts +0 -1
  482. package/dist/src/nile-virtual-select-disabled/index.js +0 -2
  483. package/dist/src/nile-virtual-select-disabled/index.js.map +0 -1
  484. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +0 -12
  485. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +0 -538
  486. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +0 -1
  487. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +0 -299
  488. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +0 -1441
  489. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +0 -1
  490. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +0 -7
  491. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +0 -631
  492. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +0 -1
  493. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +0 -45
  494. package/dist/src/nile-virtual-select-disabled/portal-manager.js +0 -333
  495. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +0 -1
  496. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +0 -16
  497. package/dist/src/nile-virtual-select-disabled/renderer.js +0 -79
  498. package/dist/src/nile-virtual-select-disabled/renderer.js.map +0 -1
  499. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +0 -12
  500. package/dist/src/nile-virtual-select-disabled/search-manager.js +0 -40
  501. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +0 -1
  502. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +0 -12
  503. package/dist/src/nile-virtual-select-disabled/selection-manager.js +0 -64
  504. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +0 -1
  505. package/dist/src/nile-virtual-select-disabled/types.d.ts +0 -50
  506. package/dist/src/nile-virtual-select-disabled/types.js +0 -8
  507. package/dist/src/nile-virtual-select-disabled/types.js.map +0 -1
  508. package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
  509. package/dist/src/nile-virtual-table-body/index.js +0 -3
  510. package/dist/src/nile-virtual-table-body/index.js.map +0 -1
  511. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
  512. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
  513. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
  514. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
  515. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
  516. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
  517. package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
  518. package/dist/src/nile-virtual-table-body/renderer.js +0 -49
  519. package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
  520. package/dist/src/utilities/stepper-utils.d.ts +0 -71
  521. package/dist/src/utilities/stepper-utils.js +0 -108
  522. package/dist/src/utilities/stepper-utils.js.map +0 -1
  523. /package/dist/nile-grid/{nile-grid.types.cjs.js → types/nile-grid.types.cjs.js} +0 -0
  524. /package/dist/nile-grid/{nile-grid.types.cjs.js.map → types/nile-grid.types.cjs.js.map} +0 -0
  525. /package/dist/nile-grid/{nile-grid.types.esm.js → types/nile-grid.types.esm.js} +0 -0
  526. /package/dist/{nile-grid-body → nile-lite-tooltip}/index.cjs.js.map +0 -0
  527. /package/dist/src/nile-grid/{nile-grid.types.d.ts → types/nile-grid.types.d.ts} +0 -0
  528. /package/dist/src/nile-grid/{nile-grid.types.js → types/nile-grid.types.js} +0 -0
  529. /package/src/nile-grid/{nile-grid.types.ts → types/nile-grid.types.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { totalReducible, takeFromRight, giveToRight } from './nile-grid.width';
1
+ import { takeFromRight, giveToRight, totalReducibleRight } from './nile-grid.width';
2
2
  import { rebuildTemplate, syncStickyShadows, applyColumnsTemplate } from './nile-grid.layout';
3
3
  /**
4
4
  * @param minColumnWidth Minimum allowed column width
@@ -47,28 +47,23 @@ export function computeNewWidth(opts) {
47
47
  * @param columnWidths Current widths array
48
48
  * @param containerWidth Container total width
49
49
  */
50
- export function resizeNoScroll(opts) {
51
- const { grid, col, prevW, newW, floor } = opts;
50
+ export function resizeNoScroll({ grid, col, prevW, newW, floor }) {
51
+ if (grid.lockedWidthColumns?.[col])
52
+ return;
52
53
  let delta = newW - prevW;
53
54
  if (delta > 0) {
54
- const rightReducible = totalReducible(grid.columnWidths, col + 1, floor);
55
+ const rightReducible = totalReducibleRight(grid.columnWidths, col + 1, floor, grid.lockedWidthColumns);
55
56
  if (rightReducible <= 0)
56
57
  return;
57
58
  delta = Math.min(delta, rightReducible);
58
59
  grid.columnWidths[col] = prevW + delta;
59
- if (delta > 0)
60
- takeFromRight(grid.columnWidths, col + 1, delta, floor);
60
+ takeFromRight(grid.columnWidths, col + 1, delta, floor, grid.lockedWidthColumns);
61
61
  }
62
62
  else {
63
- if (col === grid.columnWidths.length - 1)
64
- return;
65
- const shrink = -delta;
66
- const newColW = Math.max(floor, prevW - shrink);
63
+ const newColW = Math.max(floor, newW);
67
64
  const actualShrink = prevW - newColW;
68
65
  grid.columnWidths[col] = newColW;
69
- const remaining = giveToRight(grid.columnWidths, col + 1, actualShrink);
70
- if (remaining > 0)
71
- grid.columnWidths[col] = prevW;
66
+ giveToRight(grid.columnWidths, col + 1, actualShrink);
72
67
  }
73
68
  }
74
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.resize.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.resize.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { HeadItemEl } from './nile-grid.types';\nimport { totalReducible, takeFromRight, giveToRight } from './nile-grid.width';\nimport { rebuildTemplate, syncStickyShadows, applyColumnsTemplate } from './nile-grid.layout';\n\n/**\n * @param minColumnWidth Minimum allowed column width\n * @param resizeStart Guide line element (start)\n * @param resizeEnd Guide line element (end)\n * @param col Active column index\n * @param scrollHeight Height to apply to guides\n * @param columnWidths Current column widths\n * @returns void\n */\nexport const resizeLinesHandler = (\n minColumnWidth: number,\n resizeStart: HTMLElement,\n resizeEnd: HTMLElement,\n col: number,\n scrollHeight: number,\n columnWidths: number[],\n) => {\n resizeStart.style.display = 'block';\n resizeEnd.style.display = 'block';\n resizeStart.style.height = scrollHeight + 'px';\n resizeEnd.style.height = scrollHeight + 'px';\n const floor = minColumnWidth;\n const safe = (n: number) => Math.max(0, Math.round(n || 0));\n const sum = (arr: number[], endExclusive: number) => safe(arr.slice(0, Math.max(0, endExclusive)).reduce((a, b) => a + (b || 0), 0));\n\n const totalGridWidth = safe(columnWidths.reduce((a, b) => a + (b || 0), 0));\n const baseLeft = sum(columnWidths, col);\n const appliedColWidth = safe(Math.max(floor, columnWidths[col] ?? floor));\n let handleLeft = baseLeft + appliedColWidth;\n\n const minEdge = baseLeft + floor;\n const maxEdge = totalGridWidth;\n handleLeft = Math.min(Math.max(handleLeft, minEdge), maxEdge);\n handleLeft = Math.max(handleLeft, 20);\n\n resizeStart.style.left = `${handleLeft - 6}px`;\n resizeEnd.style.left = `${handleLeft - 2}px`;\n};\n\n/**\n * @param targetWidth New computed width in pixels\n * @param min Minimum allowed width\n * @param max Maximum allowed width\n * @returns Adjusted column width\n */\nexport function computeNewWidth(opts: {\n target: HTMLElement;\n col: number;\n widthPx: number;\n floor: number;\n columnWidths: number[];\n}) {\n const { target, col, widthPx, floor, columnWidths } = opts;\n const hasSpan =\n !!target.getAttribute('colspan') &&\n parseInt(target.getAttribute('colspan')!, 10) > 1;\n const prevW = columnWidths[col] ?? floor;\n const newWraw = hasSpan ? widthPx - (columnWidths[col - 1] ?? 0) : widthPx;\n const newW = Math.max(\n floor,\n Math.round(Number.isFinite(newWraw) ? newWraw : prevW)\n );\n return { prevW, newW, delta0: newW - prevW };\n}\n\n/**\n * @param columnWidths Current widths array\n * @param containerWidth Container total width\n */\nexport function resizeNoScroll(opts: {\n grid: NileGrid;\n col: number;\n prevW: number;\n newW: number;\n floor: number;\n}) {\n const { grid, col, prevW, newW, floor } = opts;\n let delta = newW - prevW;\n\n if (delta > 0) {\n const rightReducible = totalReducible(grid.columnWidths, col + 1, floor);\n if (rightReducible <= 0) return;\n delta = Math.min(delta, rightReducible);\n grid.columnWidths[col] = prevW + delta;\n if (delta > 0) takeFromRight(grid.columnWidths, col + 1, delta, floor);\n } else {\n if (col === grid.columnWidths.length - 1) return;\n const shrink = -delta;\n const newColW = Math.max(floor, prevW - shrink);\n const actualShrink = prevW - newColW;\n grid.columnWidths[col] = newColW;\n const remaining = giveToRight(grid.columnWidths, col + 1, actualShrink);\n if (remaining > 0) grid.columnWidths[col] = prevW;\n }\n}\n\n/**\n * @param columnWidths Current widths\n * @param containerWidth Container width\n */\nexport function resizeWithScroll(opts: {\n grid: NileGrid;\n col: number;\n newW: number;\n}) {\n const { grid, col, newW } = opts;\n grid.columnWidths[col] = newW;\n}\n\n/**\n * @param el Target element within grid\n * @returns Scrollbar width compensation value\n */\nexport function getScrollbarComp(el: HTMLElement) {\n const scroller = el.closest('nile-grid') as HTMLElement | null;\n return scroller ? scroller.offsetWidth - scroller.clientWidth : 0;\n}\n\n/**\n * @param nileGrid The parent grid\n * @param columnWidths New column width array\n */\nexport function applyAfterResize(grid: any, col: number) {\n resizeLinesHandler(\n grid.minColumnWidth,\n grid.resizeStart,\n grid.resizeEnd,\n col,\n grid.scrollHeight,\n grid.columnWidths\n );\n grid.colTemplate = rebuildTemplate(\n grid.columnWidths.length,\n grid.columnWidths\n );\n syncStickyShadows(grid);\n applyColumnsTemplate(grid, grid.columnWidths);\n}"]}
1
+ {"version":3,"file":"nile-grid.resize.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.resize.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { takeFromRight, giveToRight, totalReducibleRight } from './nile-grid.width';\nimport { rebuildTemplate, syncStickyShadows, applyColumnsTemplate } from './nile-grid.layout';\n\n/**\n * @param minColumnWidth Minimum allowed column width\n * @param resizeStart Guide line element (start)\n * @param resizeEnd Guide line element (end)\n * @param col Active column index\n * @param scrollHeight Height to apply to guides\n * @param columnWidths Current column widths\n * @returns void\n */\nexport const resizeLinesHandler = (\n minColumnWidth: number,\n resizeStart: HTMLElement,\n resizeEnd: HTMLElement,\n col: number,\n scrollHeight: number,\n columnWidths: number[],\n) => {\n resizeStart.style.display = 'block';\n resizeEnd.style.display = 'block';\n resizeStart.style.height = scrollHeight + 'px';\n resizeEnd.style.height = scrollHeight + 'px';\n const floor = minColumnWidth;\n const safe = (n: number) => Math.max(0, Math.round(n || 0));\n const sum = (arr: number[], endExclusive: number) => safe(arr.slice(0, Math.max(0, endExclusive)).reduce((a, b) => a + (b || 0), 0));\n\n const totalGridWidth = safe(columnWidths.reduce((a, b) => a + (b || 0), 0));\n const baseLeft = sum(columnWidths, col);\n const appliedColWidth = safe(Math.max(floor, columnWidths[col] ?? floor));\n let handleLeft = baseLeft + appliedColWidth;\n\n const minEdge = baseLeft + floor;\n const maxEdge = totalGridWidth;\n handleLeft = Math.min(Math.max(handleLeft, minEdge), maxEdge);\n handleLeft = Math.max(handleLeft, 20);\n\n resizeStart.style.left = `${handleLeft - 6}px`;\n resizeEnd.style.left = `${handleLeft - 2}px`;\n};\n\n/**\n * @param targetWidth New computed width in pixels\n * @param min Minimum allowed width\n * @param max Maximum allowed width\n * @returns Adjusted column width\n */\nexport function computeNewWidth(opts: {\n target: HTMLElement;\n col: number;\n widthPx: number;\n floor: number;\n columnWidths: number[];\n}) {\n const { target, col, widthPx, floor, columnWidths } = opts;\n const hasSpan =\n !!target.getAttribute('colspan') &&\n parseInt(target.getAttribute('colspan')!, 10) > 1;\n const prevW = columnWidths[col] ?? floor;\n const newWraw = hasSpan ? widthPx - (columnWidths[col - 1] ?? 0) : widthPx;\n const newW = Math.max(\n floor,\n Math.round(Number.isFinite(newWraw) ? newWraw : prevW)\n );\n return { prevW, newW, delta0: newW - prevW };\n}\n\n/**\n * @param columnWidths Current widths array\n * @param containerWidth Container total width\n */\nexport function resizeNoScroll({ grid, col, prevW, newW, floor }: {\n grid: NileGrid;\n col: number;\n prevW: number;\n newW: number;\n floor: number;\n}) {\n if (grid.lockedWidthColumns?.[col]) return;\n let delta = newW - prevW;\n if (delta > 0) {\n const rightReducible = totalReducibleRight(grid.columnWidths, col + 1, floor, grid.lockedWidthColumns);\n if (rightReducible <= 0) return;\n delta = Math.min(delta, rightReducible);\n grid.columnWidths[col] = prevW + delta;\n takeFromRight(grid.columnWidths, col + 1, delta, floor, grid.lockedWidthColumns);\n } else {\n const newColW = Math.max(floor, newW);\n const actualShrink = prevW - newColW;\n grid.columnWidths[col] = newColW;\n giveToRight(grid.columnWidths, col + 1, actualShrink);\n }\n}\n\n/**\n * @param columnWidths Current widths\n * @param containerWidth Container width\n */\nexport function resizeWithScroll(opts: {\n grid: NileGrid;\n col: number;\n newW: number;\n}) {\n const { grid, col, newW } = opts;\n grid.columnWidths[col] = newW;\n}\n\n/**\n * @param el Target element within grid\n * @returns Scrollbar width compensation value\n */\nexport function getScrollbarComp(el: HTMLElement) {\n const scroller = el.closest('nile-grid') as HTMLElement | null;\n return scroller ? scroller.offsetWidth - scroller.clientWidth : 0;\n}\n\n/**\n * @param nileGrid The parent grid\n * @param columnWidths New column width array\n */\nexport function applyAfterResize(grid: any, col: number) {\n resizeLinesHandler(\n grid.minColumnWidth,\n grid.resizeStart,\n grid.resizeEnd,\n col,\n grid.scrollHeight,\n grid.columnWidths\n );\n grid.colTemplate = rebuildTemplate(\n grid.columnWidths.length,\n grid.columnWidths\n );\n syncStickyShadows(grid);\n applyColumnsTemplate(grid, grid.columnWidths);\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.utils.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.utils.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAkB,EAClB,QAAa,EACb,MAAW,EACX,wBAA6B,EAC7B,EAAE;IACF,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAChD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5C,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAAkB,EAClB,QAAa,EACb,MAAW,EACX,wBAA6B,EAC7B,EAAE;IACF,QAAQ,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACrD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACnD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5C,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,CACJ,KAAK,CAAC,IAAI,CACT,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACzC,IAAI,IAAI,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,CACJ,KAAK,CAAC,IAAI,CACT,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACzC,IAAI,IAAI,CAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { HeadItemEl } from './nile-grid.types';\n\n/** listenToEventListeners\n * @param nileGrid Grid element to attach listeners on\n * @param onResize Handler for 'nile-column-resize'\n * @param slotEl Slot element to watch for 'slotchange'\n * @param _attachObserverAndLayout Callback to reattach observer + layout\n * @returns void\n */\nexport const listenToEventListeners = (\n nileGrid: NileGrid,\n onResize: any,\n slotEl: any,\n _attachObserverAndLayout: any\n) => {\n nileGrid.addEventListener('nile-column-resize', onResize);\n nileGrid.addEventListener('nile-resize-start', () => {\n nileGrid.resizeStart.style.display = 'block';\n });\n nileGrid.addEventListener('nile-resize-end', () => {\n nileGrid.resizeStart.style.display = 'none';\n nileGrid.resizeEnd.style.display = 'none';\n });\n slotEl.addEventListener('slotchange', () => _attachObserverAndLayout());\n};\n\n/** removeEventListeners\n * @param nileGrid Grid element to detach listeners from\n * @param onResize Handler previously attached to 'nile-column-resize'\n * @param slotEl Slot element to remove 'slotchange' from\n * @param _attachObserverAndLayout Callback reference used during attach\n * @returns void\n */\nexport const removeEventListeners = (\n nileGrid: NileGrid,\n onResize: any,\n slotEl: any,\n _attachObserverAndLayout: any\n) => {\n nileGrid.removeEventListener('nile-column-resize', onResize);\n nileGrid.removeEventListener('nile-resize-start', () => {\n nileGrid.resizeStart.style.display = 'block';\n });\n nileGrid.removeEventListener('nile-resize-end', () => {\n nileGrid.resizeStart.style.display = 'none';\n nileGrid.resizeEnd.style.display = 'none';\n });\n slotEl.removeEventListener('slotchange', () => _attachObserverAndLayout());\n};\n\n/** getHead\n * @param slotEl Slot element containing assigned nodes\n * @returns <nile-grid-head> element or null\n */\nexport const getHead = (slotEl: any) => {\n const nodes = slotEl?.assignedElements() ?? [];\n return (\n (nodes.find(\n (n: any) => n.tagName.toLowerCase() === 'nile-grid-head'\n ) as HTMLElement) || null\n );\n};\n\n/** getBody\n * @param slotEl Slot element containing assigned nodes\n * @returns <nile-grid-body> element or null\n */\nexport const getBody = (slotEl: any) => {\n const nodes = slotEl?.assignedElements() ?? [];\n return (\n (nodes.find(\n (n: any) => n.tagName.toLowerCase() === 'nile-grid-body'\n ) as HTMLElement) || null\n );\n};"]}
1
+ {"version":3,"file":"nile-grid.utils.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.utils.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAkB,EAClB,QAAa,EACb,MAAW,EACX,wBAA6B,EAC7B,EAAE;IACF,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAChD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5C,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAAkB,EAClB,QAAa,EACb,MAAW,EACX,wBAA6B,EAC7B,EAAE;IACF,QAAQ,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC7D,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACrD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACnD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5C,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,CACJ,KAAK,CAAC,IAAI,CACT,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACzC,IAAI,IAAI,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,CACJ,KAAK,CAAC,IAAI,CACT,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACzC,IAAI,IAAI,CAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { NileGrid } from './nile-grid';\n\n/** listenToEventListeners\n * @param nileGrid Grid element to attach listeners on\n * @param onResize Handler for 'nile-column-resize'\n * @param slotEl Slot element to watch for 'slotchange'\n * @param _attachObserverAndLayout Callback to reattach observer + layout\n * @returns void\n */\nexport const listenToEventListeners = (\n nileGrid: NileGrid,\n onResize: any,\n slotEl: any,\n _attachObserverAndLayout: any\n) => {\n nileGrid.addEventListener('nile-column-resize', onResize);\n nileGrid.addEventListener('nile-resize-start', () => {\n nileGrid.resizeStart.style.display = 'block';\n });\n nileGrid.addEventListener('nile-resize-end', () => {\n nileGrid.resizeStart.style.display = 'none';\n nileGrid.resizeEnd.style.display = 'none';\n });\n slotEl.addEventListener('slotchange', () => _attachObserverAndLayout());\n};\n\n/** removeEventListeners\n * @param nileGrid Grid element to detach listeners from\n * @param onResize Handler previously attached to 'nile-column-resize'\n * @param slotEl Slot element to remove 'slotchange' from\n * @param _attachObserverAndLayout Callback reference used during attach\n * @returns void\n */\nexport const removeEventListeners = (\n nileGrid: NileGrid,\n onResize: any,\n slotEl: any,\n _attachObserverAndLayout: any\n) => {\n nileGrid.removeEventListener('nile-column-resize', onResize);\n nileGrid.removeEventListener('nile-resize-start', () => {\n nileGrid.resizeStart.style.display = 'block';\n });\n nileGrid.removeEventListener('nile-resize-end', () => {\n nileGrid.resizeStart.style.display = 'none';\n nileGrid.resizeEnd.style.display = 'none';\n });\n slotEl.removeEventListener('slotchange', () => _attachObserverAndLayout());\n};\n\n/** getHead\n * @param slotEl Slot element containing assigned nodes\n * @returns <nile-grid-head> element or null\n */\nexport const getHead = (slotEl: any) => {\n const nodes = slotEl?.assignedElements() ?? [];\n return (\n (nodes.find(\n (n: any) => n.tagName.toLowerCase() === 'nile-grid-head'\n ) as HTMLElement) || null\n );\n};\n\n/** getBody\n * @param slotEl Slot element containing assigned nodes\n * @returns <nile-grid-body> element or null\n */\nexport const getBody = (slotEl: any) => {\n const nodes = slotEl?.assignedElements() ?? [];\n return (\n (nodes.find(\n (n: any) => n.tagName.toLowerCase() === 'nile-grid-body'\n ) as HTMLElement) || null\n );\n};"]}
@@ -6,18 +6,18 @@ import { NileGrid } from './nile-grid';
6
6
  * @param slotEl Slot element (to read head for desired widths)
7
7
  * @returns void
8
8
  */
9
- export declare function computeColumnWidths(nileGrid: NileGrid, colCount: number, columnWidths: number[], slotEl: any): void;
9
+ export declare function computeColumnWidths(nileGrid: NileGrid, colCount: number, columnWidths: number[], slotEl: any, lockedWidthColumns: boolean[]): void;
10
10
  /**
11
11
  * @param columnWidths Current widths array
12
12
  * @param minCol Minimum column width
13
13
  * @returns Total reducible pixels
14
14
  */
15
- export declare function totalReducible(widths: number[], start: number, floor: number): number;
15
+ export declare function totalReducibleRight(w: number[], start: number, floor: number, fixed?: boolean[]): number;
16
16
  /**
17
17
  * @param columnWidths Current widths
18
18
  * @param amount Pixels to remove from rightmost columns
19
19
  */
20
- export declare function takeFromRight(widths: number[], start: number, needInit: number, floor: number): number;
20
+ export declare function takeFromRight(widths: number[], start: number, needInit: number, floor: number, fixed?: boolean[]): number;
21
21
  /**
22
22
  * @param columnWidths Current widths
23
23
  * @param amount Pixels to add to rightmost columns
@@ -7,10 +7,10 @@ import { getHead } from './nile-grid.utils';
7
7
  * @param slotEl Slot element (to read head for desired widths)
8
8
  * @returns void
9
9
  */
10
- export function computeColumnWidths(nileGrid, colCount, columnWidths, slotEl) {
10
+ export function computeColumnWidths(nileGrid, colCount, columnWidths, slotEl, lockedWidthColumns) {
11
11
  const minCol = nileGrid.minColumnWidth;
12
12
  const containerWidth = getContainerWidth(nileGrid);
13
- const desired = readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, columnWidths);
13
+ const desired = readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, lockedWidthColumns, columnWidths);
14
14
  const isSeeded = seedWidthsFromDesired(desired, columnWidths, minCol);
15
15
  distributeFlex(columnWidths, isSeeded, containerWidth, minCol);
16
16
  normalizeToContainer(columnWidths, containerWidth, minCol);
@@ -31,11 +31,11 @@ function getContainerWidth(nileGrid) {
31
31
  * @param prevWidths Previously computed column widths
32
32
  * @returns Array of desired column widths
33
33
  */
34
- function readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, prevWidths) {
34
+ function readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, lockedWidthColumns, prevWidths) {
35
35
  const desired = Array(colCount).fill(null);
36
36
  const head = getHead(slotEl);
37
37
  if (head)
38
- fillDesiredFromHeadRows(head, desired, colCount, containerWidth);
38
+ fillDesiredFromHeadRows(head, desired, colCount, containerWidth, lockedWidthColumns);
39
39
  if (prevWidths?.length === colCount)
40
40
  fillFromPrevWidths(desired, prevWidths, nileGrid);
41
41
  return desired;
@@ -45,11 +45,12 @@ function readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, prevWid
45
45
  * @param desired Desired widths array to fill
46
46
  * @param colCount Column count
47
47
  * @param containerWidth Grid container width
48
+ * @param fixedWidthColumns Fixed width columns
48
49
  */
49
- function fillDesiredFromHeadRows(head, desired, colCount, containerWidth) {
50
+ function fillDesiredFromHeadRows(head, desired, colCount, containerWidth, lockedWidthColumns) {
50
51
  const headRows = [...head.children].filter(el => el.tagName.toLowerCase() === 'nile-grid-row');
51
52
  for (const row of headRows) {
52
- fillFromHeadRow(row, desired, colCount, containerWidth);
53
+ fillFromHeadRow(row, desired, colCount, containerWidth, lockedWidthColumns);
53
54
  }
54
55
  }
55
56
  /**
@@ -57,11 +58,13 @@ function fillDesiredFromHeadRows(head, desired, colCount, containerWidth) {
57
58
  * @param desired Desired widths array
58
59
  * @param colCount Total number of columns
59
60
  * @param containerWidth Container width
61
+ * @param lockedWidthColumns Locked width columns
62
+ * @returns void
60
63
  */
61
- function fillFromHeadRow(row, desired, colCount, containerWidth) {
64
+ function fillFromHeadRow(row, desired, colCount, containerWidth, lockedWidthColumns) {
62
65
  const items = [...row.children].filter(el => el.tagName.toLowerCase() === 'nile-grid-head-item');
63
66
  const parsed = items
64
- .map(h => parseHeadItemWidth(h, containerWidth))
67
+ .map(h => parseHeadItemWidth(h, containerWidth, lockedWidthColumns))
65
68
  .filter(x => x.cw != null);
66
69
  parsed.sort((a, b) => a.colspan - b.colspan);
67
70
  parsed.forEach(({ cStart, colspan, cw }) => {
@@ -71,12 +74,16 @@ function fillFromHeadRow(row, desired, colCount, containerWidth) {
71
74
  /**
72
75
  * @param h Header item element
73
76
  * @param containerWidth Width of parent container
77
+ * @param lockedWidthColumns Locked width columns
74
78
  * @returns Parsed object containing start, colspan, and computed width
75
79
  */
76
- function parseHeadItemWidth(h, containerWidth) {
80
+ function parseHeadItemWidth(h, containerWidth, lockedWidthColumns) {
77
81
  const cStart = Number(h.dataset?.cStart) || 1;
78
82
  const colspan = Math.max(1, Number(h.getAttribute('colspan')) || 1);
79
83
  const raw = h.width ?? h.getAttribute('width') ?? null;
84
+ if (h.hasAttribute('lockWidth')) {
85
+ lockedWidthColumns[cStart - 1] = true;
86
+ }
80
87
  const cw = parseCustomWidth(raw, containerWidth);
81
88
  return { cStart, colspan, cw };
82
89
  }
@@ -264,25 +271,30 @@ function clampAndRound(columnWidths, minCol) {
264
271
  * @param minCol Minimum column width
265
272
  * @returns Total reducible pixels
266
273
  */
267
- export function totalReducible(widths, start, floor) {
274
+ export function totalReducibleRight(w, start, floor, fixed) {
268
275
  let sum = 0;
269
- for (let i = start; i < widths.length; i++)
270
- sum += Math.max(0, widths[i] - floor);
276
+ for (let i = start; i < w.length; i++) {
277
+ if (fixed?.[i])
278
+ continue;
279
+ sum += Math.max(0, w[i] - floor);
280
+ }
271
281
  return sum;
272
282
  }
273
283
  /**
274
284
  * @param columnWidths Current widths
275
285
  * @param amount Pixels to remove from rightmost columns
276
286
  */
277
- export function takeFromRight(widths, start, needInit, floor) {
287
+ export function takeFromRight(widths, start, needInit, floor, fixed) {
278
288
  let need = needInit;
279
289
  for (let i = start; i < widths.length && need > 0; i++) {
280
- const reducible = Math.max(0, widths[i] - floor);
281
- const cut = Math.min(reducible, need);
282
- if (cut > 0) {
283
- widths[i] -= cut;
284
- need -= cut;
285
- }
290
+ if (fixed?.[i])
291
+ continue;
292
+ const room = widths[i] - floor;
293
+ if (room <= 0)
294
+ continue;
295
+ const cut = Math.min(room, need);
296
+ widths[i] -= cut;
297
+ need -= cut;
286
298
  }
287
299
  return need;
288
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.width.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.width.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { HeadItemEl } from './nile-grid.types';\nimport { applyColumnsTemplate } from './nile-grid.layout';\nimport { getHead } from './nile-grid.utils';\n\n/** computeColumnWidths\n * @param nileGrid Grid instance (reads minColumnWidth, columnWidths)\n * @param colCount Total columns\n * @param columnWidths Mutable widths array to fill/update\n * @param slotEl Slot element (to read head for desired widths)\n * @returns void\n */\nexport function computeColumnWidths(\n nileGrid: NileGrid,\n colCount: number,\n columnWidths: number[],\n slotEl: any\n) {\n const minCol = nileGrid.minColumnWidth;\n const containerWidth = getContainerWidth(nileGrid);\n const desired = readDesiredFromHead(\n slotEl,\n colCount,\n containerWidth,\n nileGrid,\n columnWidths\n );\n const isSeeded = seedWidthsFromDesired(desired, columnWidths, minCol);\n\n distributeFlex(columnWidths, isSeeded, containerWidth, minCol);\n normalizeToContainer(columnWidths, containerWidth, minCol);\n clampAndRound(columnWidths, minCol);\n applyColumnsTemplate(nileGrid, columnWidths);\n}\n\n/** getContainerWidth\n * @param nileGrid Grid root element\n * @returns Numeric container width in pixels (accounting for padding/offset)\n */\nfunction getContainerWidth(nileGrid: NileGrid): number {\n return Math.max(0, (nileGrid.getBoundingClientRect().width || 0) - 4);\n}\n\n/**\n * @param slotEl The slot element containing head rows\n * @param colCount Number of columns\n * @param containerWidth Width of the parent container\n * @param prevWidths Previously computed column widths\n * @returns Array of desired column widths\n */\nfunction readDesiredFromHead(\n slotEl: any,\n colCount: number,\n containerWidth: number,\n nileGrid: NileGrid,\n prevWidths?: number[]\n): (number | null)[] {\n const desired = Array(colCount).fill(null);\n const head = getHead(slotEl) as HTMLElement | null;\n if (head) fillDesiredFromHeadRows(head, desired, colCount, containerWidth);\n if (prevWidths?.length === colCount) fillFromPrevWidths(desired, prevWidths, nileGrid);\n return desired;\n}\n\n/**\n * @param head Head element containing grid header rows\n * @param desired Desired widths array to fill\n * @param colCount Column count\n * @param containerWidth Grid container width\n */\nfunction fillDesiredFromHeadRows(\n head: HTMLElement,\n desired: (number | null)[],\n colCount: number,\n containerWidth: number\n) {\n const headRows = [...head.children].filter(\n el => el.tagName.toLowerCase() === 'nile-grid-row'\n ) as HTMLElement[];\n for (const row of headRows) {\n fillFromHeadRow(row, desired, colCount, containerWidth);\n }\n}\n\n/**\n * @param row A single header row element\n * @param desired Desired widths array\n * @param colCount Total number of columns\n * @param containerWidth Container width\n */\nfunction fillFromHeadRow(\n row: HTMLElement,\n desired: (number | null)[],\n colCount: number,\n containerWidth: number\n) {\n const items = [...row.children].filter(\n el => el.tagName.toLowerCase() === 'nile-grid-head-item'\n ) as HeadItemEl[];\n const parsed = items\n .map(h => parseHeadItemWidth(h, containerWidth))\n .filter(x => x.cw != null);\n parsed.sort((a, b) => a.colspan - b.colspan);\n parsed.forEach(({ cStart, colspan, cw }) => {\n assignWidth(desired, cStart, colspan, cw!, colCount);\n });\n}\n\n/**\n * @param h Header item element\n * @param containerWidth Width of parent container\n * @returns Parsed object containing start, colspan, and computed width\n */\nfunction parseHeadItemWidth(h: HeadItemEl, containerWidth: number) {\n const cStart = Number((h as any).dataset?.cStart) || 1;\n const colspan = Math.max(1, Number(h.getAttribute('colspan')) || 1);\n const raw = (h as any).width ?? h.getAttribute('width') ?? null;\n const cw = parseCustomWidth(raw, containerWidth);\n return { cStart, colspan, cw };\n}\n\n/**\n * @param desired Array of desired widths\n * @param cStart Start column index\n * @param colspan Column span value\n * @param cw Computed width value\n * @param colCount Total column count\n */\nfunction assignWidth(\n desired: (number | null)[],\n cStart: number,\n colspan: number,\n cw: number,\n colCount: number\n) {\n const perCol = Math.round(cw / colspan);\n for (let k = 0; k < colspan; k++) {\n const idx = cStart - 1 + k;\n if (idx >= 0 && idx < colCount && desired[idx] == null) {\n desired[idx] = perCol;\n }\n }\n}\n\n/**\n * @param desired Desired widths array\n * @param prevWidths Previous column widths\n */\nfunction fillFromPrevWidths(desired: (number | null)[], prevWidths: number[], nileGrid: NileGrid) {\n for (let i = 0; i < prevWidths.length; i++) {\n if (desired[i] == null && Number.isFinite(prevWidths[i]!)) {\n desired[i] = Math.max(nileGrid.minColumnWidth, Math.round(prevWidths[i]!));\n }\n }\n}\n\n/** parseCustomWidth\n * @param raw User-specified width (number | string like \"120px\" or \"20%\")\n * @param containerWidth Container width for % resolution\n * @returns Width in pixels or null if invalid\n */\nfunction parseCustomWidth(raw: any, containerWidth: number): number | null {\n if (raw == null) return null;\n if (typeof raw === 'number' && Number.isFinite(raw)) return raw;\n const s = String(raw).trim().toLowerCase();\n if (!s) return null;\n\n if (s.endsWith('px')) {\n const v = parseFloat(s);\n return Number.isFinite(v) ? v : null;\n }\n if (s.endsWith('%')) {\n const v = parseFloat(s);\n return Number.isFinite(v) ? (v / 100) * containerWidth : null;\n }\n const v = parseFloat(s);\n return Number.isFinite(v) ? v : null;\n}\n\n/** seedWidthsFromDesired\n * @param desired Array of desired widths (px) or nulls\n * @param columnWidths Output array to seed (mutated)\n * @param minCol Minimum per-column width\n * @returns Boolean[] flags indicating which columns were seeded\n */\nfunction seedWidthsFromDesired(\n desired: (number | null)[],\n columnWidths: number[],\n minCol: number\n): boolean[] {\n const isSeeded = Array(desired.length).fill(false);\n\n for (let i = 0; i < desired.length; i++) {\n const w = desired[i] ?? null;\n columnWidths[i] =\n w != null && !Number.isNaN(w) ? Math.max(minCol, Number(w)) : 0;\n isSeeded[i] = w != null && !Number.isNaN(w);\n }\n return isSeeded;\n}\n\n/** distributeFlex\n * @param columnWidths Mutable widths array\n * @param isSeeded Boolean[] indicating fixed/seeded columns\n * @param containerWidth Total width to fill\n * @param minCol Minimum width per flexible column\n * @returns void\n */\nfunction distributeFlex(\n columnWidths: number[],\n isSeeded: boolean[],\n containerWidth: number,\n minCol: number\n) {\n const sumSeed = columnWidths.reduce((a, b) => a + b, 0);\n const remaining = containerWidth - sumSeed;\n const flexIdxs = Array.from(\n { length: columnWidths.length },\n (_, i) => i\n ).filter(i => !isSeeded[i]);\n if (flexIdxs.length === 0) return;\n\n const each = remaining / flexIdxs.length;\n for (const i of flexIdxs) columnWidths[i] = Math.max(minCol, each);\n}\n\n\n// Normalization (container fitting): adjust total column widths to match the container width proportionally.\n/**\n * @param columnWidths Array of current column widths\n * @param containerWidth Total grid container width\n * @param minCol Minimum allowed column width\n */\nfunction normalizeToContainer(\n columnWidths: number[],\n containerWidth: number,\n minCol: number\n) {\n let total = sumWidths(columnWidths);\n if (total < containerWidth) {\n expandWidths(columnWidths, containerWidth, total);\n } else if (total > containerWidth) {\n shrinkWidths(columnWidths, containerWidth, total, minCol);\n }\n}\n\n/**\n * @param widths Array of column widths\n * @returns Sum of all column widths\n */\nfunction sumWidths(widths: number[]) {\n return widths.reduce((a, b) => a + b, 0);\n}\n\n\n/**\n * @param columnWidths Current column widths\n * @param containerWidth Container total width\n * @param total Current total width\n */\nfunction expandWidths(\n columnWidths: number[],\n containerWidth: number,\n total: number\n) {\n if (!columnWidths.length) return;\n const add = containerWidth - total;\n const weight = total || 1;\n for (let i = 0; i < columnWidths.length; i++) {\n columnWidths[i] += add * (columnWidths[i] / weight);\n }\n}\n\n/**\n * @param columnWidths Current widths\n * @param containerWidth Container width\n * @param total Current total\n * @param minCol Minimum width constraint\n */\nfunction shrinkWidths(\n columnWidths: number[],\n containerWidth: number,\n total: number,\n minCol: number\n) {\n let need = total - containerWidth;\n for (let iter = 0; iter < 8 && need > 0.5; iter++) {\n const { candidates, weightSum } = collectReducible(columnWidths, minCol);\n if (!candidates.length || weightSum <= 0) break;\n const reduced = reduceWidths(\n columnWidths,\n candidates,\n weightSum,\n need,\n minCol\n );\n need -= reduced;\n if (reduced < 0.5) break;\n }\n}\n\n/**\n * @param columnWidths Current widths\n * @param minCol Minimum column width\n * @returns Reducible column indexes and weight sum\n */\nfunction collectReducible(columnWidths: number[], minCol: number) {\n const candidates: number[] = [];\n let weightSum = 0;\n for (let i = 0; i < columnWidths.length; i++) {\n const reducible = Math.max(0, columnWidths[i] - minCol);\n if (reducible > 0) {\n candidates.push(i);\n weightSum += columnWidths[i];\n }\n }\n return { candidates, weightSum };\n}\n\n/**\n * @param columnWidths Current widths array\n * @param candidates Reducible column indexes\n * @param weightSum Sum of reducible widths\n * @param need Total amount to reduce\n * @param minCol Minimum width\n * @returns Total reduced width\n */\nfunction reduceWidths(\n columnWidths: number[],\n candidates: number[],\n weightSum: number,\n need: number,\n minCol: number\n) {\n let reduced = 0;\n for (const i of candidates) {\n const reducible = Math.max(0, columnWidths[i] - minCol);\n const share = columnWidths[i] / weightSum;\n const cut = Math.min(reducible, need * share);\n columnWidths[i] -= cut;\n reduced += cut;\n }\n return reduced;\n}\n\nfunction clampAndRound(columnWidths: number[], minCol: number) {\n for (let i = 0; i < columnWidths.length; i++) {\n columnWidths[i] = Math.max(minCol, Math.round(columnWidths[i]));\n }\n}\n\n/**\n * @param columnWidths Current widths array\n * @param minCol Minimum column width\n * @returns Total reducible pixels\n */\nexport function totalReducible(widths: number[], start: number, floor: number) {\n let sum = 0;\n for (let i = start; i < widths.length; i++)\n sum += Math.max(0, widths[i] - floor);\n return sum;\n}\n\n/**\n * @param columnWidths Current widths\n * @param amount Pixels to remove from rightmost columns\n */\nexport function takeFromRight(\n widths: number[],\n start: number,\n needInit: number,\n floor: number\n) {\n let need = needInit;\n for (let i = start; i < widths.length && need > 0; i++) {\n const reducible = Math.max(0, widths[i] - floor);\n const cut = Math.min(reducible, need);\n if (cut > 0) {\n widths[i] -= cut;\n need -= cut;\n }\n }\n return need;\n}\n\n/**\n * @param columnWidths Current widths\n * @param amount Pixels to add to rightmost columns\n */\nexport function giveToRight(widths: number[], start: number, giveInit: number) {\n let give = giveInit;\n if (start < widths.length && give > 0) {\n widths[start] += give;\n give = 0;\n }\n return give;\n}"]}
1
+ {"version":3,"file":"nile-grid.width.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.width.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { applyColumnsTemplate } from './nile-grid.layout';\nimport { getHead } from './nile-grid.utils';\n\n/** computeColumnWidths\n * @param nileGrid Grid instance (reads minColumnWidth, columnWidths)\n * @param colCount Total columns\n * @param columnWidths Mutable widths array to fill/update\n * @param slotEl Slot element (to read head for desired widths)\n * @returns void\n */\nexport function computeColumnWidths(\n nileGrid: NileGrid,\n colCount: number,\n columnWidths: number[],\n slotEl: any,\n lockedWidthColumns: boolean[]\n): void {\n const minCol = nileGrid.minColumnWidth;\n const containerWidth = getContainerWidth(nileGrid);\n const desired = readDesiredFromHead(\n slotEl,\n colCount,\n containerWidth,\n nileGrid,\n lockedWidthColumns,\n columnWidths\n );\n const isSeeded = seedWidthsFromDesired(desired, columnWidths, minCol);\n\n distributeFlex(columnWidths, isSeeded, containerWidth, minCol);\n normalizeToContainer(columnWidths, containerWidth, minCol);\n clampAndRound(columnWidths, minCol);\n applyColumnsTemplate(nileGrid, columnWidths);\n}\n\n/** getContainerWidth\n * @param nileGrid Grid root element\n * @returns Numeric container width in pixels (accounting for padding/offset)\n */\nfunction getContainerWidth(nileGrid: NileGrid): number {\n return Math.max(0, (nileGrid.getBoundingClientRect().width || 0) - 4);\n}\n\n/**\n * @param slotEl The slot element containing head rows\n * @param colCount Number of columns\n * @param containerWidth Width of the parent container\n * @param prevWidths Previously computed column widths\n * @returns Array of desired column widths\n */\nfunction readDesiredFromHead(\n slotEl: any,\n colCount: number,\n containerWidth: number,\n nileGrid: NileGrid,\n lockedWidthColumns: boolean[],\n prevWidths?: number[]\n): (number | null)[] {\n const desired = Array(colCount).fill(null);\n const head = getHead(slotEl) as HTMLElement | null;\n if (head) fillDesiredFromHeadRows(head, desired, colCount, containerWidth, lockedWidthColumns);\n if (prevWidths?.length === colCount) fillFromPrevWidths(desired, prevWidths, nileGrid);\n return desired;\n}\n\n/**\n * @param head Head element containing grid header rows\n * @param desired Desired widths array to fill\n * @param colCount Column count\n * @param containerWidth Grid container width\n * @param fixedWidthColumns Fixed width columns\n */\nfunction fillDesiredFromHeadRows(\n head: HTMLElement,\n desired: (number | null)[],\n colCount: number,\n containerWidth: number,\n lockedWidthColumns: boolean[]\n) {\n const headRows = [...head.children].filter(\n el => el.tagName.toLowerCase() === 'nile-grid-row'\n ) as HTMLElement[];\n for (const row of headRows) {\n fillFromHeadRow(row, desired, colCount, containerWidth, lockedWidthColumns);\n }\n}\n\n/**\n * @param row A single header row element\n * @param desired Desired widths array\n * @param colCount Total number of columns\n * @param containerWidth Container width\n * @param lockedWidthColumns Locked width columns\n * @returns void\n */\nfunction fillFromHeadRow(\n row: HTMLElement,\n desired: (number | null)[],\n colCount: number,\n containerWidth: number,\n lockedWidthColumns: boolean[]\n) {\n const items = [...row.children].filter(\n el => el.tagName.toLowerCase() === 'nile-grid-head-item'\n ) as HTMLElement[];\n const parsed = items\n .map(h => parseHeadItemWidth(h, containerWidth, lockedWidthColumns))\n .filter(x => x.cw != null);\n parsed.sort((a, b) => a.colspan - b.colspan);\n parsed.forEach(({ cStart, colspan, cw }) => {\n assignWidth(desired, cStart, colspan, cw!, colCount);\n });\n}\n\n/**\n * @param h Header item element\n * @param containerWidth Width of parent container\n * @param lockedWidthColumns Locked width columns\n * @returns Parsed object containing start, colspan, and computed width\n */\nfunction parseHeadItemWidth(h: HTMLElement, containerWidth: number, lockedWidthColumns: boolean[]) {\n const cStart = Number((h as any).dataset?.cStart) || 1;\n const colspan = Math.max(1, Number(h.getAttribute('colspan')) || 1);\n const raw = (h as any).width ?? h.getAttribute('width') ?? null;\n if (h.hasAttribute('lockWidth')) {\n lockedWidthColumns[cStart - 1] = true;\n }\n const cw = parseCustomWidth(raw, containerWidth);\n return { cStart, colspan, cw };\n}\n\n/**\n * @param desired Array of desired widths\n * @param cStart Start column index\n * @param colspan Column span value\n * @param cw Computed width value\n * @param colCount Total column count\n */\nfunction assignWidth(\n desired: (number | null)[],\n cStart: number,\n colspan: number,\n cw: number,\n colCount: number\n) {\n const perCol = Math.round(cw / colspan);\n for (let k = 0; k < colspan; k++) {\n const idx = cStart - 1 + k;\n if (idx >= 0 && idx < colCount && desired[idx] == null) {\n desired[idx] = perCol;\n }\n }\n}\n\n/**\n * @param desired Desired widths array\n * @param prevWidths Previous column widths\n */\nfunction fillFromPrevWidths(desired: (number | null)[], prevWidths: number[], nileGrid: NileGrid) {\n for (let i = 0; i < prevWidths.length; i++) {\n if (desired[i] == null && Number.isFinite(prevWidths[i]!)) {\n desired[i] = Math.max(nileGrid.minColumnWidth, Math.round(prevWidths[i]!));\n }\n }\n}\n\n/** parseCustomWidth\n * @param raw User-specified width (number | string like \"120px\" or \"20%\")\n * @param containerWidth Container width for % resolution\n * @returns Width in pixels or null if invalid\n */\nfunction parseCustomWidth(raw: any, containerWidth: number): number | null {\n if (raw == null) return null;\n if (typeof raw === 'number' && Number.isFinite(raw)) return raw;\n const s = String(raw).trim().toLowerCase();\n if (!s) return null;\n\n if (s.endsWith('px')) {\n const v = parseFloat(s);\n return Number.isFinite(v) ? v : null;\n }\n if (s.endsWith('%')) {\n const v = parseFloat(s);\n return Number.isFinite(v) ? (v / 100) * containerWidth : null;\n }\n const v = parseFloat(s);\n return Number.isFinite(v) ? v : null;\n}\n\n/** seedWidthsFromDesired\n * @param desired Array of desired widths (px) or nulls\n * @param columnWidths Output array to seed (mutated)\n * @param minCol Minimum per-column width\n * @returns Boolean[] flags indicating which columns were seeded\n */\nfunction seedWidthsFromDesired(\n desired: (number | null)[],\n columnWidths: number[],\n minCol: number\n): boolean[] {\n const isSeeded = Array(desired.length).fill(false);\n\n for (let i = 0; i < desired.length; i++) {\n const w = desired[i] ?? null;\n columnWidths[i] =\n w != null && !Number.isNaN(w) ? Math.max(minCol, Number(w)) : 0;\n isSeeded[i] = w != null && !Number.isNaN(w);\n }\n return isSeeded;\n}\n\n/** distributeFlex\n * @param columnWidths Mutable widths array\n * @param isSeeded Boolean[] indicating fixed/seeded columns\n * @param containerWidth Total width to fill\n * @param minCol Minimum width per flexible column\n * @returns void\n */\nfunction distributeFlex(\n columnWidths: number[],\n isSeeded: boolean[],\n containerWidth: number,\n minCol: number\n) {\n const sumSeed = columnWidths.reduce((a, b) => a + b, 0);\n const remaining = containerWidth - sumSeed;\n const flexIdxs = Array.from(\n { length: columnWidths.length },\n (_, i) => i\n ).filter(i => !isSeeded[i]);\n if (flexIdxs.length === 0) return;\n\n const each = remaining / flexIdxs.length;\n for (const i of flexIdxs) columnWidths[i] = Math.max(minCol, each);\n}\n\n\n// Normalization (container fitting): adjust total column widths to match the container width proportionally.\n/**\n * @param columnWidths Array of current column widths\n * @param containerWidth Total grid container width\n * @param minCol Minimum allowed column width\n */\nfunction normalizeToContainer(\n columnWidths: number[],\n containerWidth: number,\n minCol: number\n) {\n let total = sumWidths(columnWidths);\n if (total < containerWidth) {\n expandWidths(columnWidths, containerWidth, total);\n } else if (total > containerWidth) {\n shrinkWidths(columnWidths, containerWidth, total, minCol);\n }\n}\n\n/**\n * @param widths Array of column widths\n * @returns Sum of all column widths\n */\nfunction sumWidths(widths: number[]) {\n return widths.reduce((a, b) => a + b, 0);\n}\n\n\n/**\n * @param columnWidths Current column widths\n * @param containerWidth Container total width\n * @param total Current total width\n */\nfunction expandWidths(\n columnWidths: number[],\n containerWidth: number,\n total: number\n) {\n if (!columnWidths.length) return;\n const add = containerWidth - total;\n const weight = total || 1;\n for (let i = 0; i < columnWidths.length; i++) {\n columnWidths[i] += add * (columnWidths[i] / weight);\n }\n}\n\n/**\n * @param columnWidths Current widths\n * @param containerWidth Container width\n * @param total Current total\n * @param minCol Minimum width constraint\n */\nfunction shrinkWidths(\n columnWidths: number[],\n containerWidth: number,\n total: number,\n minCol: number\n) {\n let need = total - containerWidth;\n for (let iter = 0; iter < 8 && need > 0.5; iter++) {\n const { candidates, weightSum } = collectReducible(columnWidths, minCol);\n if (!candidates.length || weightSum <= 0) break;\n const reduced = reduceWidths(\n columnWidths,\n candidates,\n weightSum,\n need,\n minCol\n );\n need -= reduced;\n if (reduced < 0.5) break;\n }\n}\n\n/**\n * @param columnWidths Current widths\n * @param minCol Minimum column width\n * @returns Reducible column indexes and weight sum\n */\nfunction collectReducible(columnWidths: number[], minCol: number) {\n const candidates: number[] = [];\n let weightSum = 0;\n for (let i = 0; i < columnWidths.length; i++) {\n const reducible = Math.max(0, columnWidths[i] - minCol);\n if (reducible > 0) {\n candidates.push(i);\n weightSum += columnWidths[i];\n }\n }\n return { candidates, weightSum };\n}\n\n/**\n * @param columnWidths Current widths array\n * @param candidates Reducible column indexes\n * @param weightSum Sum of reducible widths\n * @param need Total amount to reduce\n * @param minCol Minimum width\n * @returns Total reduced width\n */\nfunction reduceWidths(\n columnWidths: number[],\n candidates: number[],\n weightSum: number,\n need: number,\n minCol: number\n) {\n let reduced = 0;\n for (const i of candidates) {\n const reducible = Math.max(0, columnWidths[i] - minCol);\n const share = columnWidths[i] / weightSum;\n const cut = Math.min(reducible, need * share);\n columnWidths[i] -= cut;\n reduced += cut;\n }\n return reduced;\n}\n\nfunction clampAndRound(columnWidths: number[], minCol: number) {\n for (let i = 0; i < columnWidths.length; i++) {\n columnWidths[i] = Math.max(minCol, Math.round(columnWidths[i]));\n }\n}\n\n/**\n * @param columnWidths Current widths array\n * @param minCol Minimum column width\n * @returns Total reducible pixels\n */\nexport function totalReducibleRight(w: number[], start: number, floor: number, fixed?: boolean[]) {\n let sum = 0;\n for (let i = start; i < w.length; i++) {\n if (fixed?.[i]) continue;\n sum += Math.max(0, w[i] - floor);\n }\n return sum;\n}\n\n/**\n * @param columnWidths Current widths\n * @param amount Pixels to remove from rightmost columns\n */\nexport function takeFromRight(\n widths: number[],\n start: number,\n needInit: number,\n floor: number,\n fixed?: boolean[]\n) {\n let need = needInit;\n for (let i = start; i < widths.length && need > 0; i++) {\n if (fixed?.[i]) continue;\n const room = widths[i] - floor;\n if (room <= 0) continue;\n const cut = Math.min(room, need);\n widths[i] -= cut;\n need -= cut;\n }\n return need;\n}\n\n/**\n * @param columnWidths Current widths\n * @param amount Pixels to add to rightmost columns\n */\nexport function giveToRight(widths: number[], start: number, giveInit: number) {\n let give = giveInit;\n if (start < widths.length && give > 0) {\n widths[start] += give;\n give = 0;\n }\n return give;\n}"]}
@@ -0,0 +1 @@
1
+ export declare const NILE_GRID_HEAD_ITEM = "NILE-GRID-HEAD-ITEM";
@@ -0,0 +1,2 @@
1
+ export const NILE_GRID_HEAD_ITEM = "NILE-GRID-HEAD-ITEM";
2
+ //# sourceMappingURL=nile-grid.enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-grid.enums.js","sourceRoot":"","sources":["../../../../src/nile-grid/types/nile-grid.enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC","sourcesContent":["export const NILE_GRID_HEAD_ITEM = \"NILE-GRID-HEAD-ITEM\";"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-grid.types.js","sourceRoot":"","sources":["../../../../src/nile-grid/types/nile-grid.types.ts"],"names":[],"mappings":"","sourcesContent":["export type HeadItemEl = HTMLElement & { width?: number | null };"]}
@@ -0,0 +1 @@
1
+ export { NileliteTooltip } from './nile-lite-tooltip';
@@ -0,0 +1,2 @@
1
+ export { NileliteTooltip } from './nile-lite-tooltip';
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-sidebar-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { NileSidebarMenu } from './nile-sidebar-menu';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-lite-tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { NileliteTooltip } from './nile-lite-tooltip';"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /**
8
+ * LightTooltip CSS
9
+ */
10
+ export declare const styles: import("lit").CSSResult;
11
+ export declare function injectGlobalTippyStyles(): void;
12
+ declare const _default: import("lit").CSSResult[];
13
+ export default _default;
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { css } from 'lit';
8
+ /**
9
+ * LightTooltip CSS
10
+ */
11
+ export const styles = css `
12
+ :host { }
13
+
14
+ .tippy-box[data-animation=fade][data-state=hidden] { opacity: 0; }
15
+ [data-tippy-root] { max-width: calc(100vw - 10px); }
16
+
17
+ .tippy-box {
18
+ position: relative;
19
+ background-color: #333;
20
+ color: #fff;
21
+ border-radius: 4px;
22
+ font-size: 14px;
23
+ line-height: 1.4;
24
+ white-space: normal;
25
+ outline: 0;
26
+ transition-property: transform, visibility, opacity;
27
+ }
28
+
29
+
30
+ .tippy-box[data-placement^=top] > .tippy-arrow { bottom: 0; }
31
+ .tippy-box[data-placement^=top] > .tippy-arrow:before {
32
+ bottom: -7px;
33
+ border-width: 8px 8px 0;
34
+ border-top-color: initial;
35
+ }
36
+
37
+ .tippy-box[data-placement^=bottom] > .tippy-arrow { top: 0; }
38
+ .tippy-box[data-placement^=bottom] > .tippy-arrow:before {
39
+ top: -7px;
40
+ border-width: 0 8px 8px;
41
+ border-bottom-color: initial;
42
+ }
43
+
44
+ .tippy-box[data-placement^=left] > .tippy-arrow { right: 0; }
45
+ .tippy-box[data-placement^=left] > .tippy-arrow:before {
46
+ right: -7px;
47
+ border-width: 8px 0 8px 8px;
48
+ border-left-color: initial;
49
+ }
50
+
51
+ .tippy-box[data-placement^=right] > .tippy-arrow { left: 0; }
52
+ .tippy-box[data-placement^=right] > .tippy-arrow:before {
53
+ left: -7px;
54
+ border-width: 8px 8px 8px 0;
55
+ border-right-color: initial;
56
+ }
57
+
58
+ .tippy-box[data-inertia][data-state=visible] {
59
+ transition-timing-function: cubic-bezier(.54, 1.5, .38, 1.11);
60
+ }
61
+
62
+ .tippy-box.large { font-size: 16px; padding: 8px 12px; }
63
+ .tippy-arrow { width: 16px; height: 16px; color: #333; }
64
+ .tippy-arrow:before {
65
+ content: "";
66
+ position: absolute;
67
+ border-color: transparent;
68
+ border-style: solid;
69
+ }
70
+
71
+ .tippy-content {
72
+ position: relative;
73
+ padding: 2px 6px;
74
+ z-index: 1;
75
+ }
76
+
77
+ .tippy-box[data-placement^=top] > .tippy-svg-arrow { bottom: 0; }
78
+ .tippy-box[data-placement^=top] > .tippy-svg-arrow:after,
79
+ .tippy-box[data-placement^=top] > .tippy-svg-arrow > svg {
80
+ top: 16px;
81
+ transform: rotate(180deg);
82
+ }
83
+ .tippy-box[data-placement^=bottom] > .tippy-svg-arrow { top: 0; }
84
+ .tippy-box[data-placement^=bottom] > .tippy-svg-arrow > svg { bottom: 16px; }
85
+ .tippy-box[data-placement^=left] > .tippy-svg-arrow { right: 0; }
86
+ .tippy-box[data-placement^=left] > .tippy-svg-arrow:after,
87
+ .tippy-box[data-placement^=left] > .tippy-svg-arrow > svg {
88
+ transform: rotate(90deg);
89
+ top: calc(50% - 3px);
90
+ left: 11px;
91
+ }
92
+ .tippy-box[data-placement^=right] > .tippy-svg-arrow { left: 0; }
93
+ .tippy-box[data-placement^=right] > .tippy-svg-arrow:after,
94
+ .tippy-box[data-placement^=right] > .tippy-svg-arrow > svg {
95
+ transform: rotate(-90deg);
96
+ top: calc(50% - 3px);
97
+ right: 11px;
98
+ }
99
+
100
+ .tippy-svg-arrow {
101
+ width: 16px;
102
+ height: 16px;
103
+ fill: #333;
104
+ text-align: initial;
105
+ position: absolute;
106
+ }
107
+
108
+ .tippy-svg-arrow > svg {
109
+ position: absolute;
110
+ }
111
+ `;
112
+ export function injectGlobalTippyStyles() {
113
+ const STYLE_ID = 'nile-lite-tooltip-styles';
114
+ if (document.getElementById(STYLE_ID))
115
+ return;
116
+ const style = document.createElement('style');
117
+ style.id = STYLE_ID;
118
+ style.textContent = styles.cssText;
119
+ document.head.appendChild(style);
120
+ }
121
+ injectGlobalTippyStyles();
122
+ export default [styles];
123
+ //# sourceMappingURL=nile-lite-tooltip.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-lite-tooltip.css.js","sourceRoot":"","sources":["../../../src/nile-lite-tooltip/nile-lite-tooltip.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGxB,CAAC;AAGF,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,OAAO;IAE9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,uBAAuB,EAAE,CAAC;AAE1B,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * LightTooltip CSS\n */\nexport const styles = css`\n :host { }\n\n .tippy-box[data-animation=fade][data-state=hidden] { opacity: 0; }\n [data-tippy-root] { max-width: calc(100vw - 10px); }\n\n .tippy-box {\n position: relative;\n background-color: #333;\n color: #fff;\n border-radius: 4px;\n font-size: 14px;\n line-height: 1.4;\n white-space: normal;\n outline: 0;\n transition-property: transform, visibility, opacity;\n }\n\n \n .tippy-box[data-placement^=top] > .tippy-arrow { bottom: 0; }\n .tippy-box[data-placement^=top] > .tippy-arrow:before {\n bottom: -7px;\n border-width: 8px 8px 0;\n border-top-color: initial;\n }\n\n .tippy-box[data-placement^=bottom] > .tippy-arrow { top: 0; }\n .tippy-box[data-placement^=bottom] > .tippy-arrow:before {\n top: -7px;\n border-width: 0 8px 8px;\n border-bottom-color: initial;\n }\n\n .tippy-box[data-placement^=left] > .tippy-arrow { right: 0; }\n .tippy-box[data-placement^=left] > .tippy-arrow:before {\n right: -7px;\n border-width: 8px 0 8px 8px;\n border-left-color: initial;\n }\n\n .tippy-box[data-placement^=right] > .tippy-arrow { left: 0; }\n .tippy-box[data-placement^=right] > .tippy-arrow:before {\n left: -7px;\n border-width: 8px 8px 8px 0;\n border-right-color: initial;\n }\n\n .tippy-box[data-inertia][data-state=visible] {\n transition-timing-function: cubic-bezier(.54, 1.5, .38, 1.11);\n }\n\n .tippy-box.large { font-size: 16px; padding: 8px 12px; }\n .tippy-arrow { width: 16px; height: 16px; color: #333; }\n .tippy-arrow:before {\n content: \"\";\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n .tippy-content {\n position: relative;\n padding: 2px 6px;\n z-index: 1;\n }\n\n .tippy-box[data-placement^=top] > .tippy-svg-arrow { bottom: 0; }\n .tippy-box[data-placement^=top] > .tippy-svg-arrow:after,\n .tippy-box[data-placement^=top] > .tippy-svg-arrow > svg {\n top: 16px;\n transform: rotate(180deg);\n }\n .tippy-box[data-placement^=bottom] > .tippy-svg-arrow { top: 0; }\n .tippy-box[data-placement^=bottom] > .tippy-svg-arrow > svg { bottom: 16px; }\n .tippy-box[data-placement^=left] > .tippy-svg-arrow { right: 0; }\n .tippy-box[data-placement^=left] > .tippy-svg-arrow:after,\n .tippy-box[data-placement^=left] > .tippy-svg-arrow > svg {\n transform: rotate(90deg);\n top: calc(50% - 3px);\n left: 11px;\n }\n .tippy-box[data-placement^=right] > .tippy-svg-arrow { left: 0; }\n .tippy-box[data-placement^=right] > .tippy-svg-arrow:after,\n .tippy-box[data-placement^=right] > .tippy-svg-arrow > svg {\n transform: rotate(-90deg);\n top: calc(50% - 3px);\n right: 11px;\n }\n\n .tippy-svg-arrow {\n width: 16px;\n height: 16px;\n fill: #333;\n text-align: initial;\n position: absolute;\n }\n\n .tippy-svg-arrow > svg {\n position: absolute;\n }\n`;\n\n\nexport function injectGlobalTippyStyles(): void {\n const STYLE_ID = 'nile-lite-tooltip-styles';\n if (document.getElementById(STYLE_ID)) return;\n\n const style = document.createElement('style');\n style.id = STYLE_ID;\n style.textContent = styles.cssText;\n document.head.appendChild(style);\n}\n \ninjectGlobalTippyStyles();\n\nexport default [styles];\n"]}
@@ -0,0 +1,61 @@
1
+ import { CSSResultArray, PropertyValues } from 'lit';
2
+ import NileElement from '../internal/nile-element';
3
+ import { Props } from 'tippy.js';
4
+ /**
5
+ * Nile lite-tooltip component.
6
+ *
7
+ * Supports wrapper, sibling (for), and singleton modes.
8
+ * Aligns with Tippy.js props and Nile design system.
9
+ *
10
+ * @tag nile-lite-tooltip
11
+ */
12
+ export declare class NileliteTooltip extends NileElement {
13
+ static get styles(): CSSResultArray;
14
+ protected createRenderRoot(): this;
15
+ /** ID of the target element (for sibling mode) */
16
+ for: string | null;
17
+ /** Tooltip content text or HTML */
18
+ content: string;
19
+ /** Tooltip size (applies CSS class) */
20
+ size: 'small' | 'large';
21
+ /** Animation duration for show/hide (ms). Can be a single value or [show, hide]. */
22
+ duration: string | number | [number, number];
23
+ /** Interactive mode */
24
+ interactive: boolean;
25
+ /** Placement of the tooltip */
26
+ placement: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'auto' | 'auto-start' | 'auto-end';
27
+ disabled: boolean;
28
+ distance: number;
29
+ skidding: number;
30
+ open: boolean;
31
+ trigger: Props['trigger'];
32
+ allowHTML: boolean;
33
+ followCursor: boolean | 'initial' | 'horizontal' | 'vertical' | 'true' | 'false';
34
+ arrow: 'default' | 'round' | 'large' | 'small' | 'wide' | 'narrow' | 'none';
35
+ singleton: boolean;
36
+ /** Not added in Doc */
37
+ delay: number | [number, number];
38
+ maxWidth: string | number;
39
+ zIndex: number;
40
+ hideOnClick: boolean | 'toggle';
41
+ inertia: boolean;
42
+ interactiveBorder: number;
43
+ private tooltipInstances?;
44
+ private singleInstance?;
45
+ private singletonInstance?;
46
+ private targetEl?;
47
+ private generatedId?;
48
+ private prevDescribedby?;
49
+ constructor();
50
+ firstUpdated(): void;
51
+ private attachTooltip;
52
+ private destroyTooltips;
53
+ disconnectedCallback(): void;
54
+ updated(changed: PropertyValues): void;
55
+ }
56
+ export default NileliteTooltip;
57
+ declare global {
58
+ interface HTMLElementTagNameMap {
59
+ 'nile-lite-tooltip': NileliteTooltip;
60
+ }
61
+ }