@aquera/nile-elements 1.3.5-beta-1.0 → 1.3.6-beta-1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/demo/index.css +3 -0
- package/demo/index.html +128 -6
- package/demo/variables.css +0 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +300 -231
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +1 -1
- package/dist/nile-floating-panel/anchor-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/anchor-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/anchor-manager.esm.js +1 -0
- package/dist/nile-floating-panel/content-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/content-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/content-manager.esm.js +1 -0
- package/dist/nile-floating-panel/event-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/event-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/event-manager.esm.js +1 -0
- package/dist/nile-floating-panel/index.cjs.js +2 -0
- package/dist/nile-floating-panel/index.esm.js +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +2 -0
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js.map +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js +2 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js.map +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.esm.js +37 -0
- package/dist/nile-floating-panel/nile-floating-panel.esm.js +1 -0
- package/dist/nile-floating-panel/position-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/position-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/position-manager.esm.js +1 -0
- package/dist/nile-floating-panel/style-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/style-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/style-manager.esm.js +1 -0
- package/dist/nile-floating-panel/types.cjs.js +2 -0
- package/dist/nile-floating-panel/types.cjs.js.map +1 -0
- package/dist/nile-floating-panel/types.esm.js +1 -0
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.esm.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +11 -10
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +14 -13
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +4 -3
- package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.css.esm.js +7 -7
- package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.width.esm.js +1 -1
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +4 -4
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +10 -2
- package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +10 -6
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +8 -2
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +2 -2
- package/dist/nile-side-bar/nile-side-bar.cjs.js +1 -1
- package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
- package/dist/nile-side-bar/nile-side-bar.css.cjs.js +1 -1
- package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -1
- package/dist/nile-side-bar/nile-side-bar.css.esm.js +24 -29
- package/dist/nile-side-bar/nile-side-bar.esm.js +7 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +3 -5
- package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +8 -8
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +5 -3
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +17 -5
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +3 -3
- package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +4 -7
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +58 -56
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js.map +1 -1
- package/dist/nile-virtual-select/portal-manager.esm.js +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.js +3 -1
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-floating-panel/anchor-manager.d.ts +6 -0
- package/dist/src/nile-floating-panel/anchor-manager.js +27 -0
- package/dist/src/nile-floating-panel/anchor-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/content-manager.d.ts +5 -0
- package/dist/src/nile-floating-panel/content-manager.js +44 -0
- package/dist/src/nile-floating-panel/content-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/event-manager.d.ts +14 -0
- package/dist/src/nile-floating-panel/event-manager.js +52 -0
- package/dist/src/nile-floating-panel/event-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/index.d.ts +1 -0
- package/dist/src/nile-floating-panel/index.js +2 -0
- package/dist/src/nile-floating-panel/index.js.map +1 -0
- package/dist/src/{nile-grid-body/nile-grid-body.css.d.ts → nile-floating-panel/nile-floating-panel.css.d.ts} +1 -3
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js +47 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +43 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js +238 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -0
- package/dist/src/nile-floating-panel/position-manager.d.ts +17 -0
- package/dist/src/nile-floating-panel/position-manager.js +72 -0
- package/dist/src/nile-floating-panel/position-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/style-manager.d.ts +9 -0
- package/dist/src/nile-floating-panel/style-manager.js +44 -0
- package/dist/src/nile-floating-panel/style-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/types.d.ts +11 -0
- package/dist/src/nile-floating-panel/types.js +2 -0
- package/dist/src/nile-floating-panel/types.js.map +1 -0
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js +1 -1
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +9 -8
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +12 -11
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +4 -3
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.css.js +5 -5
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.layout.js +3 -3
- package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
- package/dist/src/nile-icon/index.js +1 -1
- package/dist/src/nile-icon/index.js.map +1 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +10 -2
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +10 -3
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +6 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +4 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
- package/dist/src/nile-side-bar/nile-side-bar.css.js +22 -27
- package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -1
- package/dist/src/nile-side-bar/nile-side-bar.js +7 -1
- package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -1
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +3 -5
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -1
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +2 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +12 -4
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -1
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +3 -1
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +15 -3
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +1 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +8 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -1
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +2 -5
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -1
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +48 -46
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/portal-manager.js +1 -1
- package/dist/src/nile-virtual-select/portal-manager.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/nile-date-picker/nile-date-picker.ts +3 -1
- package/src/nile-floating-panel/anchor-manager.ts +33 -0
- package/src/nile-floating-panel/content-manager.ts +54 -0
- package/src/nile-floating-panel/event-manager.ts +74 -0
- package/src/nile-floating-panel/index.ts +2 -0
- package/src/nile-floating-panel/nile-floating-panel.css.ts +50 -0
- package/src/nile-floating-panel/nile-floating-panel.ts +291 -0
- package/src/nile-floating-panel/position-manager.ts +102 -0
- package/src/nile-floating-panel/style-manager.ts +54 -0
- package/src/nile-floating-panel/types.ts +15 -0
- package/src/nile-grid/nile-grid-body/nile-grid-body.css.ts +1 -1
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +9 -8
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +12 -11
- package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +4 -3
- package/src/nile-grid/nile-grid.css.ts +5 -5
- package/src/nile-grid/nile-grid.layout.ts +3 -3
- package/src/nile-icon/index.ts +1 -1
- package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +10 -2
- package/src/nile-inline-sidebar/nile-inline-sidebar.ts +16 -5
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +6 -0
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +1 -0
- package/src/nile-side-bar/nile-side-bar.css.ts +22 -27
- package/src/nile-side-bar/nile-side-bar.ts +8 -1
- package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +3 -5
- package/src/nile-side-bar-expand/nile-side-bar-expand.ts +6 -4
- package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +3 -1
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +15 -3
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +9 -1
- package/src/nile-side-bar-group/nile-side-bar-group.css.ts +2 -5
- package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +49 -47
- package/src/nile-virtual-select/nile-virtual-select.ts +1 -1
- package/src/nile-virtual-select/portal-manager.ts +1 -1
- package/vscode-html-custom-data.json +77 -3
- package/dist/axe.min-140df6c2.cjs.js +0 -2
- package/dist/axe.min-140df6c2.cjs.js.map +0 -1
- package/dist/axe.min-591c52c3.esm.js +0 -1
- package/dist/css-tag-3c4464f5.esm.js +0 -6
- package/dist/css-tag-b6258454.cjs.js +0 -6
- package/dist/css-tag-b6258454.cjs.js.map +0 -1
- package/dist/fixture-ba65262e.esm.js +0 -569
- package/dist/fixture-d1470b58.cjs.js +0 -395
- package/dist/fixture-d1470b58.cjs.js.map +0 -1
- package/dist/fixture-e3592de4.cjs.js +0 -395
- package/dist/fixture-e3592de4.cjs.js.map +0 -1
- package/dist/flow-3e83b6f4.esm.js +0 -17
- package/dist/flow-ca47f938.cjs.js +0 -14
- package/dist/flow-ca47f938.cjs.js.map +0 -1
- package/dist/lit-html-21bc9a48.cjs.js +0 -6
- package/dist/lit-html-21bc9a48.cjs.js.map +0 -1
- package/dist/lit-html-82603fd0.esm.js +0 -6
- package/dist/nile-grid-body/index.cjs.js +0 -2
- package/dist/nile-grid-body/index.esm.js +0 -1
- package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +0 -10
- package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
- package/dist/nile-grid-cell-item/index.cjs.js +0 -2
- package/dist/nile-grid-cell-item/index.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/index.esm.js +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -35
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
- package/dist/nile-grid-head/index.cjs.js +0 -2
- package/dist/nile-grid-head/index.cjs.js.map +0 -1
- package/dist/nile-grid-head/index.esm.js +0 -1
- package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +0 -7
- package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
- package/dist/nile-grid-head-item/index.cjs.js +0 -2
- package/dist/nile-grid-head-item/index.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/index.esm.js +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -34
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -12
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
- package/dist/nile-grid-row/index.cjs.js +0 -2
- package/dist/nile-grid-row/index.cjs.js.map +0 -1
- package/dist/nile-grid-row/index.esm.js +0 -1
- package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -15
- package/dist/nile-grid-row/nile-grid-row.esm.js +0 -7
- package/dist/nile-inlinesidebar/index.cjs.js +0 -2
- package/dist/nile-inlinesidebar/index.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar/index.esm.js +0 -1
- package/dist/nile-inlinesidebar/nile-inlinesidebar.cjs.js +0 -2
- package/dist/nile-inlinesidebar/nile-inlinesidebar.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar/nile-inlinesidebar.css.cjs.js +0 -2
- package/dist/nile-inlinesidebar/nile-inlinesidebar.css.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar/nile-inlinesidebar.css.esm.js +0 -62
- package/dist/nile-inlinesidebar/nile-inlinesidebar.esm.js +0 -46
- package/dist/nile-inlinesidebar-group/index.cjs.js +0 -2
- package/dist/nile-inlinesidebar-group/index.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar-group/index.esm.js +0 -1
- package/dist/nile-inlinesidebar-group/nile-inlinesidebar-group.cjs.js +0 -2
- package/dist/nile-inlinesidebar-group/nile-inlinesidebar-group.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar-group/nile-inlinesidebar-group.css.cjs.js +0 -2
- package/dist/nile-inlinesidebar-group/nile-inlinesidebar-group.css.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar-group/nile-inlinesidebar-group.css.esm.js +0 -33
- package/dist/nile-inlinesidebar-group/nile-inlinesidebar-group.esm.js +0 -12
- package/dist/nile-inlinesidebar-item/index.cjs.js +0 -2
- package/dist/nile-inlinesidebar-item/index.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar-item/index.esm.js +0 -1
- package/dist/nile-inlinesidebar-item/nile-inlinesidebar-item.cjs.js +0 -2
- package/dist/nile-inlinesidebar-item/nile-inlinesidebar-item.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar-item/nile-inlinesidebar-item.css.cjs.js +0 -2
- package/dist/nile-inlinesidebar-item/nile-inlinesidebar-item.css.cjs.js.map +0 -1
- package/dist/nile-inlinesidebar-item/nile-inlinesidebar-item.css.esm.js +0 -37
- package/dist/nile-inlinesidebar-item/nile-inlinesidebar-item.esm.js +0 -5
- package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
- package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
- package/dist/nile-rich-text-editor/utils.esm.js +0 -1
- package/dist/nile-side-bar-content/index.cjs.js +0 -2
- package/dist/nile-side-bar-content/index.cjs.js.map +0 -1
- package/dist/nile-side-bar-content/index.esm.js +0 -1
- package/dist/nile-side-bar-content/nile-side-bar-content.cjs.js +0 -2
- package/dist/nile-side-bar-content/nile-side-bar-content.cjs.js.map +0 -1
- package/dist/nile-side-bar-content/nile-side-bar-content.css.cjs.js +0 -2
- package/dist/nile-side-bar-content/nile-side-bar-content.css.cjs.js.map +0 -1
- package/dist/nile-side-bar-content/nile-side-bar-content.css.esm.js +0 -5
- package/dist/nile-side-bar-content/nile-side-bar-content.esm.js +0 -3
- package/dist/nile-side-bar-footer-icon/index.cjs.js +0 -2
- package/dist/nile-side-bar-footer-icon/index.cjs.js.map +0 -1
- package/dist/nile-side-bar-footer-icon/index.esm.js +0 -1
- package/dist/nile-side-bar-footer-icon/nile-side-bar-footer-icon.cjs.js +0 -2
- package/dist/nile-side-bar-footer-icon/nile-side-bar-footer-icon.cjs.js.map +0 -1
- package/dist/nile-side-bar-footer-icon/nile-side-bar-footer-icon.css.cjs.js +0 -2
- package/dist/nile-side-bar-footer-icon/nile-side-bar-footer-icon.css.cjs.js.map +0 -1
- package/dist/nile-side-bar-footer-icon/nile-side-bar-footer-icon.css.esm.js +0 -5
- package/dist/nile-side-bar-footer-icon/nile-side-bar-footer-icon.esm.js +0 -3
- package/dist/nile-side-bar-group-item-content/index.cjs.js +0 -2
- package/dist/nile-side-bar-group-item-content/index.cjs.js.map +0 -1
- package/dist/nile-side-bar-group-item-content/index.esm.js +0 -1
- package/dist/nile-side-bar-group-item-content/nile-side-bar-group-item-content.cjs.js +0 -2
- package/dist/nile-side-bar-group-item-content/nile-side-bar-group-item-content.cjs.js.map +0 -1
- package/dist/nile-side-bar-group-item-content/nile-side-bar-group-item-content.css.cjs.js +0 -2
- package/dist/nile-side-bar-group-item-content/nile-side-bar-group-item-content.css.cjs.js.map +0 -1
- package/dist/nile-side-bar-group-item-content/nile-side-bar-group-item-content.css.esm.js +0 -5
- package/dist/nile-side-bar-group-item-content/nile-side-bar-group-item-content.esm.js +0 -3
- package/dist/nile-sidebar/index.cjs.js +0 -2
- package/dist/nile-sidebar/index.cjs.js.map +0 -1
- package/dist/nile-sidebar/index.esm.js +0 -75
- package/dist/nile-sidebar-menu/index.cjs.js +0 -2
- package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/index.esm.js +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
- package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
- package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
- package/dist/scopedElementsWrapper-abad3c53.cjs.js +0 -2
- package/dist/scopedElementsWrapper-abad3c53.cjs.js.map +0 -1
- package/dist/scopedElementsWrapper-c815042c.cjs.js +0 -2
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +0 -1
- package/dist/scopedElementsWrapper-ef11f868.esm.js +0 -1
- package/dist/sinon-esm-283dcc9b.cjs.js +0 -2
- package/dist/sinon-esm-283dcc9b.cjs.js.map +0 -1
- package/dist/sinon-esm-abe9b0ec.esm.js +0 -1
- package/dist/src/nile-grid/nile-grid.types.d.ts +0 -3
- package/dist/src/nile-grid/nile-grid.types.js +0 -2
- package/dist/src/nile-grid/nile-grid.types.js.map +0 -1
- package/dist/src/nile-grid-body/index.d.ts +0 -1
- package/dist/src/nile-grid-body/index.js +0 -2
- package/dist/src/nile-grid-body/index.js.map +0 -1
- package/dist/src/nile-grid-body/nile-grid-body.css.js +0 -22
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +0 -29
- package/dist/src/nile-grid-body/nile-grid-body.js +0 -43
- package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
- package/dist/src/nile-grid-cell-item/index.d.ts +0 -1
- package/dist/src/nile-grid-cell-item/index.js +0 -2
- package/dist/src/nile-grid-cell-item/index.js.map +0 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -36
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +0 -93
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
- package/dist/src/nile-grid-head/index.d.ts +0 -1
- package/dist/src/nile-grid-head/index.js +0 -2
- package/dist/src/nile-grid-head/index.js.map +0 -1
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +0 -12
- package/dist/src/nile-grid-head/nile-grid-head.css.js +0 -19
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +0 -28
- package/dist/src/nile-grid-head/nile-grid-head.js +0 -41
- package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
- package/dist/src/nile-grid-head-item/index.d.ts +0 -1
- package/dist/src/nile-grid-head-item/index.js +0 -2
- package/dist/src/nile-grid-head-item/index.js.map +0 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +0 -46
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +0 -100
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +0 -34
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
- package/dist/src/nile-grid-row/index.d.ts +0 -1
- package/dist/src/nile-grid-row/index.js +0 -2
- package/dist/src/nile-grid-row/index.js.map +0 -1
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +0 -12
- package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +0 -29
- package/dist/src/nile-grid-row/nile-grid-row.js +0 -45
- package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
- package/dist/src/nile-inlinesidebar/index.d.ts +0 -1
- package/dist/src/nile-inlinesidebar/index.js +0 -2
- package/dist/src/nile-inlinesidebar/index.js.map +0 -1
- package/dist/src/nile-inlinesidebar/nile-inlinesidebar.css.d.ts +0 -1
- package/dist/src/nile-inlinesidebar/nile-inlinesidebar.css.js +0 -64
- package/dist/src/nile-inlinesidebar/nile-inlinesidebar.css.js.map +0 -1
- package/dist/src/nile-inlinesidebar/nile-inlinesidebar.d.ts +0 -28
- package/dist/src/nile-inlinesidebar/nile-inlinesidebar.js +0 -97
- package/dist/src/nile-inlinesidebar/nile-inlinesidebar.js.map +0 -1
- package/dist/src/nile-inlinesidebar-group/index.d.ts +0 -1
- package/dist/src/nile-inlinesidebar-group/index.js +0 -2
- package/dist/src/nile-inlinesidebar-group/index.js.map +0 -1
- package/dist/src/nile-inlinesidebar-group/nile-inlinesidebar-group.css.d.ts +0 -3
- package/dist/src/nile-inlinesidebar-group/nile-inlinesidebar-group.css.js +0 -36
- package/dist/src/nile-inlinesidebar-group/nile-inlinesidebar-group.css.js.map +0 -1
- package/dist/src/nile-inlinesidebar-group/nile-inlinesidebar-group.d.ts +0 -34
- package/dist/src/nile-inlinesidebar-group/nile-inlinesidebar-group.js +0 -67
- package/dist/src/nile-inlinesidebar-group/nile-inlinesidebar-group.js.map +0 -1
- package/dist/src/nile-inlinesidebar-item/index.d.ts +0 -1
- package/dist/src/nile-inlinesidebar-item/index.js +0 -2
- package/dist/src/nile-inlinesidebar-item/index.js.map +0 -1
- package/dist/src/nile-inlinesidebar-item/nile-inlinesidebar-item.css.d.ts +0 -4
- package/dist/src/nile-inlinesidebar-item/nile-inlinesidebar-item.css.js +0 -42
- package/dist/src/nile-inlinesidebar-item/nile-inlinesidebar-item.css.js.map +0 -1
- package/dist/src/nile-inlinesidebar-item/nile-inlinesidebar-item.d.ts +0 -37
- package/dist/src/nile-inlinesidebar-item/nile-inlinesidebar-item.js +0 -68
- package/dist/src/nile-inlinesidebar-item/nile-inlinesidebar-item.js.map +0 -1
- package/dist/src/nile-nile-side-bar-expand/index.d.ts +0 -1
- package/dist/src/nile-nile-side-bar-expand/index.js +0 -2
- package/dist/src/nile-nile-side-bar-expand/index.js.map +0 -1
- package/dist/src/nile-nile-side-bar-expand/nile-nile-side-bar-expand.css.d.ts +0 -12
- package/dist/src/nile-nile-side-bar-expand/nile-nile-side-bar-expand.css.js +0 -17
- package/dist/src/nile-nile-side-bar-expand/nile-nile-side-bar-expand.css.js.map +0 -1
- package/dist/src/nile-nile-side-bar-expand/nile-nile-side-bar-expand.d.ts +0 -32
- package/dist/src/nile-nile-side-bar-expand/nile-nile-side-bar-expand.js +0 -43
- package/dist/src/nile-nile-side-bar-expand/nile-nile-side-bar-expand.js.map +0 -1
- package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
- package/dist/src/nile-rich-text-editor/utils.js +0 -538
- package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
- package/dist/src/nile-side-bar-content/index.d.ts +0 -1
- package/dist/src/nile-side-bar-content/index.js +0 -2
- package/dist/src/nile-side-bar-content/index.js.map +0 -1
- package/dist/src/nile-side-bar-content/nile-side-bar-content.css.d.ts +0 -12
- package/dist/src/nile-side-bar-content/nile-side-bar-content.css.js +0 -17
- package/dist/src/nile-side-bar-content/nile-side-bar-content.css.js.map +0 -1
- package/dist/src/nile-side-bar-content/nile-side-bar-content.d.ts +0 -32
- package/dist/src/nile-side-bar-content/nile-side-bar-content.js +0 -43
- package/dist/src/nile-side-bar-content/nile-side-bar-content.js.map +0 -1
- package/dist/src/nile-side-bar-footer-icon/index.d.ts +0 -1
- package/dist/src/nile-side-bar-footer-icon/index.js +0 -2
- package/dist/src/nile-side-bar-footer-icon/index.js.map +0 -1
- package/dist/src/nile-side-bar-footer-icon/nile-side-bar-footer-icon.css.d.ts +0 -12
- package/dist/src/nile-side-bar-footer-icon/nile-side-bar-footer-icon.css.js +0 -17
- package/dist/src/nile-side-bar-footer-icon/nile-side-bar-footer-icon.css.js.map +0 -1
- package/dist/src/nile-side-bar-footer-icon/nile-side-bar-footer-icon.d.ts +0 -32
- package/dist/src/nile-side-bar-footer-icon/nile-side-bar-footer-icon.js +0 -43
- package/dist/src/nile-side-bar-footer-icon/nile-side-bar-footer-icon.js.map +0 -1
- package/dist/src/nile-side-bar-group-item-content/index.d.ts +0 -1
- package/dist/src/nile-side-bar-group-item-content/index.js +0 -2
- package/dist/src/nile-side-bar-group-item-content/index.js.map +0 -1
- package/dist/src/nile-side-bar-group-item-content/nile-side-bar-group-item-content.css.d.ts +0 -12
- package/dist/src/nile-side-bar-group-item-content/nile-side-bar-group-item-content.css.js +0 -17
- package/dist/src/nile-side-bar-group-item-content/nile-side-bar-group-item-content.css.js.map +0 -1
- package/dist/src/nile-side-bar-group-item-content/nile-side-bar-group-item-content.d.ts +0 -32
- package/dist/src/nile-side-bar-group-item-content/nile-side-bar-group-item-content.js +0 -43
- package/dist/src/nile-side-bar-group-item-content/nile-side-bar-group-item-content.js.map +0 -1
- package/dist/src/nile-sidebar/index.d.ts +0 -28
- package/dist/src/nile-sidebar/index.js +0 -116
- package/dist/src/nile-sidebar/index.js.map +0 -1
- package/dist/src/nile-sidebar/nile-sidebar.css.d.ts +0 -12
- package/dist/src/nile-sidebar/nile-sidebar.css.js +0 -17
- package/dist/src/nile-sidebar/nile-sidebar.css.js.map +0 -1
- package/dist/src/nile-sidebar/nile-sidebar.d.ts +0 -32
- package/dist/src/nile-sidebar/nile-sidebar.js +0 -43
- package/dist/src/nile-sidebar/nile-sidebar.js.map +0 -1
- package/dist/src/nile-sidebar-menu/index.d.ts +0 -1
- package/dist/src/nile-sidebar-menu/index.js +0 -2
- package/dist/src/nile-sidebar-menu/index.js.map +0 -1
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +0 -12
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +0 -47
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +0 -1
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +0 -37
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +0 -84
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +0 -1
- package/dist/src/nile-sidebar-menu-items/index.d.ts +0 -1
- package/dist/src/nile-sidebar-menu-items/index.js +0 -2
- package/dist/src/nile-sidebar-menu-items/index.js.map +0 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +0 -12
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +0 -45
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +0 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +0 -35
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -78
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +0 -1
- package/dist/src/nile-sidebar-wrapper/index.d.ts +0 -1
- package/dist/src/nile-sidebar-wrapper/index.js +0 -2
- package/dist/src/nile-sidebar-wrapper/index.js.map +0 -1
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +0 -12
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +0 -114
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +0 -1
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +0 -35
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +0 -89
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +0 -1
- package/dist/virtualize-73f68d08.esm.js +0 -22
- package/dist/virtualize-eb33a9a0.cjs.js +0 -18
- package/dist/virtualize-eb33a9a0.cjs.js.map +0 -1
- /package/dist/{nile-grid-body → nile-floating-panel}/index.cjs.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-manager.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/position-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIpF,MAAM,OAAO,eAAe;IAQ1B,YACE,gBAA6B,EAC7B,eAA4B,EAC5B,QAA+B,EAC/B,cAAsB,CAAC,EACvB,eAAuB,CAAC;QAZlB,YAAO,GAAwB,IAAI,CAAC;QAc1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,GAAG,EAAE;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,EACD;YACE,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,KAAK;SACtB,CACF,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,UAAU;QACR,MAAM,SAAS,GAAc,IAAI,CAAC,QAAQ,CAAC;QAE3C,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC3D,SAAS;YACT,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxB,IAAI,EAAE;gBACN,KAAK,CAAC;oBACJ,OAAO,EAAE,IAAI,CAAC,YAAY;iBAC3B,CAAC;aACH;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;YAC9C,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;gBACxC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,GAAG,SAAS,IAAI;gBACrB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,QAA+B;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;CACF","sourcesContent":["import { autoUpdate, computePosition, offset, shift, flip } from '@floating-ui/dom';\nimport type { Placement } from '@floating-ui/dom';\nimport type { FloatingPanelPosition } from './types';\n\nexport class PositionManager {\n private cleanup: (() => void) | null = null;\n private referenceElement: HTMLElement;\n private floatingElement: HTMLElement;\n private position: FloatingPanelPosition;\n private offsetValue: number;\n private shiftPadding: number;\n\n constructor(\n referenceElement: HTMLElement,\n floatingElement: HTMLElement,\n position: FloatingPanelPosition,\n offsetValue: number = 8,\n shiftPadding: number = 8\n ) {\n this.referenceElement = referenceElement;\n this.floatingElement = floatingElement;\n this.position = position;\n this.offsetValue = offsetValue;\n this.shiftPadding = shiftPadding;\n }\n\n setupAutoUpdate(): void {\n this.cleanupAutoUpdate();\n\n this.cleanup = autoUpdate(\n this.referenceElement,\n this.floatingElement,\n () => {\n this.reposition();\n },\n {\n ancestorScroll: true,\n ancestorResize: true,\n elementResize: true,\n layoutShift: true,\n animationFrame: false,\n }\n );\n }\n\n cleanupAutoUpdate(): void {\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = null;\n }\n }\n\n reposition(): void {\n const placement: Placement = this.position;\n\n computePosition(this.referenceElement, this.floatingElement, {\n placement,\n strategy: 'fixed',\n middleware: [\n offset(this.offsetValue),\n flip(),\n shift({\n padding: this.shiftPadding,\n }),\n ],\n }).then(({ x, y, placement: finalPlacement }) => {\n let adjustedY = y;\n \n if (finalPlacement.startsWith('bottom')) {\n adjustedY = y + 10;\n } else if (finalPlacement.startsWith('top')) {\n adjustedY = y - 20;\n }\n \n Object.assign(this.floatingElement.style, {\n left: `${x}px`,\n top: `${adjustedY}px`,\n position: 'fixed',\n });\n });\n }\n\n updatePosition(position: FloatingPanelPosition): void {\n this.position = position;\n this.reposition();\n }\n\n updateOffset(offset: number): void {\n this.offsetValue = offset;\n this.reposition();\n }\n\n updateShiftPadding(padding: number): void {\n this.shiftPadding = padding;\n this.reposition();\n }\n\n destroy(): void {\n this.cleanupAutoUpdate();\n }\n}\n\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CSSResultArray } from 'lit';
|
|
2
|
+
export declare class StyleManager {
|
|
3
|
+
private injectedStyleId;
|
|
4
|
+
private static injectedStyleIds;
|
|
5
|
+
injectStyles(componentStyles: CSSResultArray): void;
|
|
6
|
+
private extractCSSFromStyles;
|
|
7
|
+
cleanupStyles(): void;
|
|
8
|
+
getInjectedStyleId(): string | null;
|
|
9
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { panelContainerStyles } from './nile-floating-panel.css';
|
|
2
|
+
export class StyleManager {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.injectedStyleId = null;
|
|
5
|
+
}
|
|
6
|
+
injectStyles(componentStyles) {
|
|
7
|
+
const globalStyleId = 'nile-floating-panel-styles-global';
|
|
8
|
+
if (StyleManager.injectedStyleIds.has(globalStyleId)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (this.injectedStyleId && document.getElementById(this.injectedStyleId)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
this.injectedStyleId = globalStyleId;
|
|
15
|
+
StyleManager.injectedStyleIds.add(globalStyleId);
|
|
16
|
+
const cssText = this.extractCSSFromStyles(componentStyles);
|
|
17
|
+
const styleElement = document.createElement('style');
|
|
18
|
+
styleElement.id = globalStyleId;
|
|
19
|
+
styleElement.textContent = cssText;
|
|
20
|
+
document.head.appendChild(styleElement);
|
|
21
|
+
}
|
|
22
|
+
extractCSSFromStyles(styles) {
|
|
23
|
+
const containerStyles = panelContainerStyles.cssText || '';
|
|
24
|
+
const componentStyles = styles
|
|
25
|
+
.map(style => {
|
|
26
|
+
if (typeof style === 'string') {
|
|
27
|
+
return style;
|
|
28
|
+
}
|
|
29
|
+
if (style && 'cssText' in style) {
|
|
30
|
+
return style.cssText;
|
|
31
|
+
}
|
|
32
|
+
return '';
|
|
33
|
+
})
|
|
34
|
+
.join('\n');
|
|
35
|
+
return containerStyles + '\n' + componentStyles;
|
|
36
|
+
}
|
|
37
|
+
cleanupStyles() {
|
|
38
|
+
}
|
|
39
|
+
getInjectedStyleId() {
|
|
40
|
+
return this.injectedStyleId;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
StyleManager.injectedStyleIds = new Set();
|
|
44
|
+
//# sourceMappingURL=style-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-manager.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/style-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,OAAO,YAAY;IAAzB;QACU,oBAAe,GAAkB,IAAI,CAAC;IAgDhD,CAAC;IA7CC,YAAY,CAAC,eAA+B;QAC1C,MAAM,aAAa,GAAG,mCAAmC,CAAC;QAC1D,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,YAAY,CAAC,EAAE,GAAG,aAAa,CAAC;QAChC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAEO,oBAAoB,CAAC,MAAsB;QACjD,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,IAAI,EAAE,CAAC;QAE3D,MAAM,eAAe,GAAG,MAAM;aAC3B,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBAChC,OAAQ,KAAa,CAAC,OAAO,CAAC;YAChC,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,eAAe,GAAG,IAAI,GAAG,eAAe,CAAC;IAClD,CAAC;IAED,aAAa;IACb,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;;AA9Cc,6BAAgB,GAAgB,IAAI,GAAG,EAAE,AAAzB,CAA0B","sourcesContent":["import type { CSSResultArray } from 'lit';\nimport { panelContainerStyles } from './nile-floating-panel.css';\n\nexport class StyleManager {\n private injectedStyleId: string | null = null;\n private static injectedStyleIds: Set<string> = new Set();\n\n injectStyles(componentStyles: CSSResultArray): void {\n const globalStyleId = 'nile-floating-panel-styles-global';\n if (StyleManager.injectedStyleIds.has(globalStyleId)) {\n return;\n }\n\n if (this.injectedStyleId && document.getElementById(this.injectedStyleId)) {\n return;\n }\n\n this.injectedStyleId = globalStyleId;\n StyleManager.injectedStyleIds.add(globalStyleId);\n\n const cssText = this.extractCSSFromStyles(componentStyles);\n\n const styleElement = document.createElement('style');\n styleElement.id = globalStyleId;\n styleElement.textContent = cssText;\n document.head.appendChild(styleElement);\n }\n\n private extractCSSFromStyles(styles: CSSResultArray): string {\n const containerStyles = panelContainerStyles.cssText || '';\n\n const componentStyles = styles\n .map(style => {\n if (typeof style === 'string') {\n return style;\n }\n if (style && 'cssText' in style) {\n return (style as any).cssText;\n }\n return '';\n })\n .join('\\n');\n\n return containerStyles + '\\n' + componentStyles;\n }\n\n cleanupStyles(): void {\n }\n\n getInjectedStyleId(): string | null {\n return this.injectedStyleId;\n }\n}\n\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type FloatingPanelPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
2
|
+
export type FloatingPanelAnchor = HTMLElement | string | null;
|
|
3
|
+
export interface FloatingPanelPositionConfig {
|
|
4
|
+
position: FloatingPanelPosition;
|
|
5
|
+
offset?: number;
|
|
6
|
+
shiftPadding?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface FloatingPanelContentConfig {
|
|
9
|
+
slotContent: Node[];
|
|
10
|
+
dataContent: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/types.ts"],"names":[],"mappings":"","sourcesContent":["export type FloatingPanelPosition = 'top' | 'bottom' | 'left' | 'right';\n\nexport type FloatingPanelAnchor = HTMLElement | string | null;\n\nexport interface FloatingPanelPositionConfig {\n position: FloatingPanelPosition;\n offset?: number;\n shiftPadding?: number;\n}\n\nexport interface FloatingPanelContentConfig {\n slotContent: Node[];\n dataContent: string;\n}\n\n"]}
|
|
@@ -11,7 +11,7 @@ import { css } from 'lit';
|
|
|
11
11
|
export const styles = css `
|
|
12
12
|
:host {
|
|
13
13
|
box-sizing: border-box;
|
|
14
|
-
background-color: var(--nile-colors-white-base);
|
|
14
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
15
15
|
}
|
|
16
16
|
`;
|
|
17
17
|
export default [styles];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-body.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-body/nile-grid-body.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;CAKxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * GridBody CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n background-color: var(--nile-colors-white-base);\n }\n`;\n\nexport default [styles];\n"]}
|
|
1
|
+
{"version":3,"file":"nile-grid-body.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-body/nile-grid-body.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;CAKxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * GridBody CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n }\n`;\n\nexport default [styles];\n"]}
|
|
@@ -10,7 +10,7 @@ import { css } from 'lit';
|
|
|
10
10
|
*/
|
|
11
11
|
export const styles = css `
|
|
12
12
|
:host {
|
|
13
|
-
--padding: var(--nile-spacing-xl) var(--nile-spacing-10px);
|
|
13
|
+
--padding: var(--nile-spacing-xl, var(--ng-spacing-lg)) var(--nile-spacing-10px, var(--ng-spacing-3xl));
|
|
14
14
|
--height: 44px;
|
|
15
15
|
box-sizing: border-box;
|
|
16
16
|
min-width: 0;
|
|
@@ -23,13 +23,14 @@ export const styles = css `
|
|
|
23
23
|
height: auto;
|
|
24
24
|
font-size: 14px;
|
|
25
25
|
font-weight: 400;
|
|
26
|
-
font-family: var(--nile-font-family-sans-serif);
|
|
26
|
+
font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.cell-item-base {
|
|
30
30
|
width: 100%;
|
|
31
31
|
overflow: hidden;
|
|
32
32
|
text-overflow: ellipsis;
|
|
33
|
+
color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
::slotted(*) {
|
|
@@ -52,18 +53,18 @@ export const styles = css `
|
|
|
52
53
|
touch-action: none;
|
|
53
54
|
z-index: 1;
|
|
54
55
|
width: 2px;
|
|
55
|
-
border-right: 1px solid var(--nile-colors-neutral-400);
|
|
56
|
+
border-right: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
56
57
|
display: block;
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
:host(.shadow-right) {
|
|
60
|
-
box-shadow: var(--nile-box-shadow-14);
|
|
61
|
-
background-color: var(
|
|
61
|
+
box-shadow: var(--nile-box-shadow-14, var(--ng-shadow-xs));
|
|
62
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
:host(.shadow-left) {
|
|
65
|
-
box-shadow: var(--nile-box-shadow-14);
|
|
66
|
-
background-color: var(
|
|
66
|
+
box-shadow: var(--nile-box-shadow-14, var(--ng-shadow-xs));
|
|
67
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
:host-context(nile-grid-row[hover]:hover),
|
|
@@ -79,7 +80,7 @@ export const styles = css `
|
|
|
79
80
|
:host(.cell-rowspan) {
|
|
80
81
|
position: absolute;
|
|
81
82
|
z-index: 1;
|
|
82
|
-
background-color: var(--nile-colors-white-base);
|
|
83
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
83
84
|
}
|
|
84
85
|
`;
|
|
85
86
|
export default [styles];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-cell-item.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"nile-grid-cell-item.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ExB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Grid Cell Item CSS\n */\nexport const styles = css`\n :host {\n --padding: var(--nile-spacing-xl, var(--ng-spacing-lg)) var(--nile-spacing-10px, var(--ng-spacing-3xl));\n --height: 44px;\n box-sizing: border-box;\n min-width: 0;\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: var(--padding);\n min-height: var(--height);\n height: auto;\n font-size: 14px;\n font-weight: 400;\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .cell-item-base {\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-tertiary-600));\n }\n\n ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n :host(:last-child) .resize-handle {\n border-right: none;\n display: none;\n }\n\n .resize-handle {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n cursor: ew-resize;\n touch-action: none;\n z-index: 1;\n width: 2px;\n border-right: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n display: block;\n }\n\n :host(.shadow-right) {\n box-shadow: var(--nile-box-shadow-14, var(--ng-shadow-xs));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n }\n\n :host(.shadow-left) {\n box-shadow: var(--nile-box-shadow-14, var(--ng-shadow-xs));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n }\n\n :host-context(nile-grid-row[hover]:hover),\n :host-context(nile-grid-row[hover]:hover):host([data-sticky]) {\n background-color: var(--nile-colors-neutral-100);\n }\n\n :host-context(nile-grid-row[selected]),\n :host-context(nile-grid-row[selected]):host([data-sticky]) {\n background-color: var(--nile-colors-primary-100) !important;\n }\n\n :host(.cell-rowspan) {\n position: absolute;\n z-index: 1;\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n }\n`;\n\nexport default [styles];\n"]}
|
|
@@ -10,7 +10,7 @@ import { css } from 'lit';
|
|
|
10
10
|
*/
|
|
11
11
|
export const styles = css `
|
|
12
12
|
:host {
|
|
13
|
-
--padding: var(--nile-spacing-lg) var(--nile-spacing-10px);
|
|
13
|
+
--padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-10px, var(--ng-spacing-3xl));
|
|
14
14
|
--height: 50px;
|
|
15
15
|
position: relative;
|
|
16
16
|
box-sizing: border-box;
|
|
@@ -19,13 +19,14 @@ export const styles = css `
|
|
|
19
19
|
overflow: hidden;
|
|
20
20
|
text-overflow: ellipsis;
|
|
21
21
|
padding: var(--padding);
|
|
22
|
-
background-color: var(--nile-colors-neutral-100);
|
|
23
|
-
font-size: var(--nile-font-size-small);
|
|
24
|
-
font-weight: var(--nile-font-weight-medium);
|
|
25
|
-
font-family: var(--nile-font-family-sans-serif);
|
|
22
|
+
background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
|
|
23
|
+
font-size: var(--nile-font-size-small, var(--ng-font-size-text-xs));
|
|
24
|
+
font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));
|
|
25
|
+
font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
|
|
26
26
|
min-height: var(--height);
|
|
27
27
|
display: flex;
|
|
28
28
|
align-items: center;
|
|
29
|
+
color: var(--nile---nile-colors-dark-900, var(--ng-colors-text-quaternary-500));
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
.head-item-base {
|
|
@@ -54,23 +55,23 @@ export const styles = css `
|
|
|
54
55
|
touch-action: none;
|
|
55
56
|
z-index: 1;
|
|
56
57
|
width: 2px;
|
|
57
|
-
border-right: 1px solid var(--nile-colors-neutral-400);
|
|
58
|
+
border-right: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
:host(.shadow-right) {
|
|
61
|
-
box-shadow: var(--nile-box-shadow-13);
|
|
62
|
-
background-color: var(--nile-colors-neutral-100);
|
|
62
|
+
box-shadow: var(--nile-box-shadow-13, var(--ng-shadow-xs));
|
|
63
|
+
background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
:host(.shadow-left) {
|
|
66
|
-
box-shadow: var(--nile-box-shadow-13);
|
|
67
|
-
background-color: var(--nile-colors-neutral-100);
|
|
67
|
+
box-shadow: var(--nile-box-shadow-13, var(--ng-shadow-xs));
|
|
68
|
+
background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
:host(.head-rowspan) {
|
|
71
72
|
position: absolute;
|
|
72
73
|
z-index: 1;
|
|
73
|
-
background-color: var(--nile-colors-neutral-100);
|
|
74
|
+
background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
|
|
74
75
|
}
|
|
75
76
|
`;
|
|
76
77
|
export default [styles];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-head-item.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"nile-grid-head-item.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiExB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * NileGridHeadItem CSS\n */\nexport const styles = css`\n :host {\n --padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-10px, var(--ng-spacing-3xl));\n --height: 50px;\n position: relative;\n box-sizing: border-box;\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: var(--padding);\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n min-height: var(--height);\n display: flex;\n align-items: center;\n color: var(--nile---nile-colors-dark-900, var(--ng-colors-text-quaternary-500));\n }\n\n .head-item-base {\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n :host(:last-child) .resize-handle {\n border-right: none;\n display: none;\n }\n\n .resize-handle {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n cursor: ew-resize;\n touch-action: none;\n z-index: 1;\n width: 2px;\n border-right: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n\n :host(.shadow-right) {\n box-shadow: var(--nile-box-shadow-13, var(--ng-shadow-xs));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n\n :host(.shadow-left) {\n box-shadow: var(--nile-box-shadow-13, var(--ng-shadow-xs));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n\n :host(.head-rowspan) {\n position: absolute;\n z-index: 1;\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n`;\n\nexport default [styles];\n"]}
|
|
@@ -12,8 +12,8 @@ export const styles = css `
|
|
|
12
12
|
.row-base {
|
|
13
13
|
display: grid;
|
|
14
14
|
grid-template-columns: var(--nile-grid-columns);
|
|
15
|
-
border-bottom: 1px solid var(--nile-colors-neutral-400);
|
|
16
|
-
background-color: var(--nile-colors-white-base);
|
|
15
|
+
border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
16
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
17
17
|
position: relative;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -30,9 +30,10 @@ export const styles = css `
|
|
|
30
30
|
z-index: 1;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
/* check it one more time */
|
|
33
34
|
:host([disabled]) {
|
|
34
35
|
background: var(--nile-colors-white-base);
|
|
35
|
-
border-bottom: 1px solid var(--nile-colors-neutral-400);
|
|
36
|
+
border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
36
37
|
opacity: 0.3;
|
|
37
38
|
}
|
|
38
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-row.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-row/nile-grid-row.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"nile-grid-row.css.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-row/nile-grid-row.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * GridRow CSS\n */\nexport const styles = css`\n .row-base {\n display: grid;\n grid-template-columns: var(--nile-grid-columns);\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n position: relative;\n }\n\n .row-bg {\n grid-column: 1 / -1;\n pointer-events: none;\n z-index: 0;\n display: none;\n }\n\n .row-slot {\n grid-column: 1 / -1;\n display: contents;\n z-index: 1;\n }\n\n /* check it one more time */\n :host([disabled]) {\n background: var(--nile-colors-white-base);\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n opacity: 0.3;\n }\n\n :host([selected]) {\n background: var(--nile-colors-primary-100);\n }\n\n :host-context(nile-grid-body):host(:last-child)::part(grid-row-base) {\n border-bottom: none;\n }\n`;\n\nexport default [styles];\n"]}
|
|
@@ -14,13 +14,13 @@ export const styles = css `
|
|
|
14
14
|
inline-size: 100%;
|
|
15
15
|
position: relative;
|
|
16
16
|
box-sizing: border-box;
|
|
17
|
-
border: 1px solid var(--nile-colors-neutral-400);
|
|
18
|
-
border-radius: var(--nile-radius-radius-xl);
|
|
19
|
-
background-color: var(--nile-colors-white-base);
|
|
17
|
+
border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));
|
|
18
|
+
border-radius: var(--nile-radius-md, var(--ng-radius-xl));
|
|
19
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
20
20
|
max-height: 100%;
|
|
21
21
|
width: 100%;
|
|
22
22
|
min-width: var(--min-width);
|
|
23
|
-
box-shadow: var(--nile-box-shadow-3);
|
|
23
|
+
box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
::slotted(nile-grid-head),
|
|
@@ -32,7 +32,7 @@ export const styles = css `
|
|
|
32
32
|
.nile-resize-end {
|
|
33
33
|
position: absolute;
|
|
34
34
|
z-index: 4;
|
|
35
|
-
background-color: var(--nile-colors-neutral-400);
|
|
35
|
+
background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
36
36
|
width: 2px;
|
|
37
37
|
height: 100%;
|
|
38
38
|
top: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid.css.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400);\n border-radius: var(--nile-radius-radius-xl);\n background-color: var(--nile-colors-white-base);\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3);\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400);\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n`;\n\nexport default [styles];\n"]}
|
|
1
|
+
{"version":3,"file":"nile-grid.css.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n`;\n\nexport default [styles];\n"]}
|
|
@@ -120,13 +120,13 @@ function handleRowspan(nileGrid, el, rowspan) {
|
|
|
120
120
|
if (!nileGrid.headHeight)
|
|
121
121
|
nileGrid.headHeight = el.getBoundingClientRect().height;
|
|
122
122
|
el.style.height = `${(nileGrid.headHeight * rowspan) + (rowspan - 1)}px`;
|
|
123
|
-
el.style.backgroundColor = "
|
|
123
|
+
el.style.backgroundColor = "var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))";
|
|
124
124
|
}
|
|
125
125
|
else {
|
|
126
126
|
if (!nileGrid.cellHeight)
|
|
127
127
|
nileGrid.cellHeight = el.getBoundingClientRect().height;
|
|
128
128
|
el.style.height = `${(nileGrid.cellHeight * rowspan) + (rowspan - 1)}px`;
|
|
129
|
-
el.style.backgroundColor = "
|
|
129
|
+
el.style.backgroundColor = "var(--nile-colors-white-base, var(--ng-colors-bg-primary))";
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
@@ -194,7 +194,7 @@ function applySticky(el, colIndex, stickyLeftIndexes, stickyRightIndexes, column
|
|
|
194
194
|
*/
|
|
195
195
|
function prepareStickyElement(el) {
|
|
196
196
|
el.style.position = 'sticky';
|
|
197
|
-
el.style.zIndex = '
|
|
197
|
+
el.style.zIndex = '1';
|
|
198
198
|
el.style.left = '';
|
|
199
199
|
el.style.right = '';
|
|
200
200
|
el.removeAttribute('data-sticky');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid.layout.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.layout.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { getHead, getBody } from './nile-grid.utils';\nimport { getScrollbarComp } from './nile-grid.resize';\nimport { computeColumnWidths } from './nile-grid.width';\nimport { NILE_GRID_HEAD_ITEM } from './types/nile-grid.enums';\n\n/**\n * @param nileGrid Parent NileGrid instance\n * @param slotEl <slot> element hosting head/body\n * @param ensureWidths Function to ensure columnWidths length matches colCount\n * @param rebuildTemplate Function(colCount, widths) -> grid-template string\n * @param stickyLeftIndexes Mutable list of left-sticky column indexes\n * @param stickyRightIndexes Mutable list of right-sticky column indexes\n * @returns void\n */\nexport const layout = (\n nileGrid: NileGrid,\n slotEl: any,\n ensureWidths: any,\n rebuildTemplate: any,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[]\n) => {\n const head = getHead(slotEl);\n const body = getBody(slotEl);\n if (!body) return;\n\n const headRows = head\n ? (Array.from(head.querySelectorAll('nile-grid-row')) as HTMLElement[])\n : [];\n const bodyRows = Array.from(\n body.querySelectorAll('nile-grid-row')\n ) as HTMLElement[];\n\n let colCount = 0;\n colCount = computeHeadLayout(nileGrid, headRows, [], colCount, stickyLeftIndexes, stickyRightIndexes, nileGrid.columnWidths);\n if (colCount) {\n computeBodyLayout(nileGrid, bodyRows, [], colCount, stickyLeftIndexes, stickyRightIndexes, nileGrid.columnWidths);\n } else {\n colCount = computeBodyLayout(nileGrid, bodyRows, [], colCount, stickyLeftIndexes, stickyRightIndexes, nileGrid.columnWidths);\n }\n\n setTimeout(() => {\n computeColumnWidths(nileGrid, colCount, nileGrid.columnWidths, slotEl, nileGrid.lockedWidthColumns); \n });\n ensureWidths(colCount);\n nileGrid.colTemplate = rebuildTemplate(colCount, nileGrid.columnWidths);\n};\n\n/** \n * @param nileGrid The parent NileGrid instance\n * @param rows Array of grid row elements\n * @param carry Array tracking rowspan, colspan continuation\n * @param colCount Total column count\n * @param stickyLeftIndexes List of sticky-left column indexes\n * @param stickyRightIndexes List of sticky-right column indexes\n * @param columnWidths Computed column widths\n * @param opts Options controlling layout behavior\n * @returns Final computed column count\n */\nfunction layoutRows(\n nileGrid: NileGrid,\n rows: HTMLElement[],\n carry: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[],\n opts: { itemSelector: string; useStickyAttr?: boolean; handleRowBg?: boolean }\n): number {\n rows.forEach((row, rIdx) => {\n if (nileGrid.hoverable) row.setAttribute('hover', 'true');\n colCount = layoutSingleRow(\n nileGrid,\n row,\n rIdx,\n carry,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n opts\n );\n });\n return colCount;\n}\n\n/**\n * @param nileGrid The grid element being processed\n * @param row Single row element to layout\n * @param rIdx Row index in the grid\n * @param carry Rowspan tracking array\n * @param colCount Current column count\n * @param stickyLeftIndexes Sticky-left indexes\n * @param stickyRightIndexes Sticky-right indexes\n * @param columnWidths Column widths array\n * @param opts Layout options\n * @returns Updated column count\n */\nfunction layoutSingleRow(\n nileGrid: NileGrid,\n row: HTMLElement,\n rIdx: number,\n carry: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[],\n opts: { itemSelector: string; useStickyAttr?: boolean }\n): number {\n let c = 1;\n const rStart = rIdx + 1;\n const items = [...row.querySelectorAll(opts.itemSelector)] as HTMLElement[];\n\n for (const el of items) {\n while ((carry[c - 1] || 0) > 0) c++;\n ({ c, colCount } = layoutCell(\n nileGrid,\n el,\n c,\n rStart,\n carry,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n opts\n ));\n }\n decrementCarry(carry);\n return colCount;\n}\n\n/**\n * @param nileGrid The parent grid\n * @param el Cell element being laid out\n * @param c Current column index\n * @param rStart Row start index\n * @param carry Rowspan carry array\n * @param colCount Current max column count\n * @param stickyLeftIndexes Left sticky indexes\n * @param stickyRightIndexes Right sticky indexes\n * @param columnWidths Column widths\n * @param opts Sticky and layout options\n * @returns Updated column index and column count\n */\nfunction layoutCell(\n nileGrid: NileGrid,\n el: HTMLElement,\n c: number,\n rStart: number,\n carry: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[],\n opts: { useStickyAttr?: boolean }\n) {\n const colspan = Math.max(1, +el.getAttribute('colspan')! || 1);\n const rowspan = Math.max(1, +el.getAttribute('rowspan')! || 1);\n handleRowspan(nileGrid, el, rowspan);\n\n const cStart = c;\n const cEnd = c + colspan;\n setGridPosition(el, cStart, cEnd, rStart, rowspan);\n handleSticky(\n el,\n cStart,\n opts,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths\n );\n\n for (let k = 0; k < colspan; k++) {\n carry[c - 1 + k] = Math.max(carry[c - 1 + k] || 0, rowspan);\n }\n return {\n c: cEnd,\n colCount: Math.max(colCount, cEnd - 1),\n };\n}\n\n/** \n * @param nileGrid The grid container \n * @param el Element that spans multiple rows \n * @param rowspan Number of rows to span \n */\nfunction handleRowspan(nileGrid: NileGrid, el: HTMLElement, rowspan: number) {\n if (rowspan <= 1) return;\n el.style.position = \"absolute\";\n el.style.zIndex = \"1\";\n\n if (el.tagName === NILE_GRID_HEAD_ITEM) {\n if (!nileGrid.headHeight) nileGrid.headHeight = el.getBoundingClientRect().height;\n el.style.height = `${(nileGrid.headHeight * rowspan) + (rowspan - 1)}px`;\n el.style.backgroundColor = \"#FAFAFA\";\n } else {\n if (!nileGrid.cellHeight) nileGrid.cellHeight = el.getBoundingClientRect().height;\n el.style.height = `${(nileGrid.cellHeight * rowspan) + (rowspan - 1)}px`;\n el.style.backgroundColor = \"#FFF\";\n }\n}\n\n/**\n * @param el Grid item element\n * @param cStart Starting column index\n * @param cEnd Ending column index\n * @param rStart Starting row index\n * @param rowspan Row span value\n */\nfunction setGridPosition(\n el: HTMLElement,\n cStart: number,\n cEnd: number,\n rStart: number,\n rowspan: number\n) {\n const rEnd = rStart + rowspan;\n el.style.gridColumn = `${cStart} / ${cEnd}`;\n el.style.gridRow = `${rStart} / ${rEnd}`;\n (el as any).dataset.cStart = String(cStart);\n}\n\n/**\n * @param el Grid item element\n * @param cStart Column start index\n * @param opts Sticky configuration options\n * @param stickyLeftIndexes Left sticky indexes\n * @param stickyRightIndexes Right sticky indexes\n * @param columnWidths Array of column widths\n */\nfunction handleSticky(\n el: HTMLElement,\n cStart: number,\n opts: { useStickyAttr?: boolean },\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n) {\n if (opts.useStickyAttr && el.getAttribute('sticky') === \"left\" && !stickyLeftIndexes.includes(cStart - 1)) {\n stickyLeftIndexes.push(cStart - 1);\n }\n if (opts.useStickyAttr && el.getAttribute('sticky') === \"right\" && !stickyRightIndexes.includes(cStart - 1)) {\n stickyRightIndexes.push(cStart - 1);\n }\n applySticky(el, cStart - 1, stickyLeftIndexes, stickyRightIndexes, columnWidths);\n}\n\n/**\n * @param carry Rowspan tracking array\n */\nfunction decrementCarry(carry: number[]) {\n for (let i = 0; i < carry.length; i++) {\n if (carry[i] > 0) {\n carry[i]--;\n }\n }\n}\n\n/**\n * @param el Target grid cell element\n * @param colIndex Column index\n * @param stickyLeftIndexes Sticky-left indexes\n * @param stickyRightIndexes Sticky-right indexes\n * @param columnWidths Column widths array\n */\nfunction applySticky(\n el: HTMLElement,\n colIndex: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n) {\n const onLeft = stickyLeftIndexes.includes(colIndex);\n const onRight = stickyRightIndexes.includes(colIndex);\n if (!onLeft && !onRight) return;\n\n prepareStickyElement(el);\n if (onLeft && !onRight) {\n applyLeftSticky(el, colIndex, stickyLeftIndexes, columnWidths);\n } else {\n applyRightSticky(el, colIndex, stickyRightIndexes, columnWidths);\n }\n}\n\n/**\n * @param el Grid item element to prepare for sticky positioning\n */\nfunction prepareStickyElement(el: HTMLElement) {\n el.style.position = 'sticky';\n el.style.zIndex = '2';\n el.style.left = '';\n el.style.right = '';\n el.removeAttribute('data-sticky');\n}\n\n/**\n * @param el Target element\n * @param colIndex Column index\n * @param stickyLeftIndexes Sticky-left column indexes\n * @param columnWidths Column width array\n */\nfunction applyLeftSticky(\n el: HTMLElement,\n colIndex: number,\n stickyLeftIndexes: number[],\n columnWidths: number[]\n) {\n el.setAttribute('data-sticky', 'left');\n const leftOrder = [...stickyLeftIndexes].sort((a, b) => a - b);\n const pos = leftOrder.indexOf(colIndex);\n const left = computeOffset(leftOrder, pos, columnWidths);\n el.style.left = `${Math.max(0, Math.round(left))}px`;\n}\n\n/**\n * @param el Target element\n * @param colIndex Column index\n * @param stickyRightIndexes Sticky-right indexes\n * @param columnWidths Column widths array\n */\nfunction applyRightSticky(\n el: HTMLElement,\n colIndex: number,\n stickyRightIndexes: number[],\n columnWidths: number[]\n) {\n el.setAttribute('data-sticky', 'right');\n const rightOrder = [...stickyRightIndexes].sort((a, b) => b - a);\n const pos = rightOrder.indexOf(colIndex);\n const scrollbarComp = getScrollbarComp(el);\n const right = computeOffset(rightOrder, pos, columnWidths, scrollbarComp);\n el.style.right = `${Math.max(0, Math.round(right - 2))}px`;\n}\n\n/**\n * @param nileGrid Grid instance to sync shadows for\n */\nexport function syncStickyShadows(nileGrid: NileGrid) {\n const { showRightOnLeftStickies, showLeftOnRightStickies } = getShadowStates(nileGrid);\n const { head, body } = getHeadAndBody(nileGrid);\n\n toggleStickyShadow(head, 'nile-grid-head-item', 'left', 'shadow-right', showRightOnLeftStickies);\n toggleStickyShadow(body, 'nile-grid-cell-item', 'left', 'shadow-right', showRightOnLeftStickies);\n toggleStickyShadow(head, 'nile-grid-head-item', 'right', 'shadow-left', showLeftOnRightStickies);\n toggleStickyShadow(body, 'nile-grid-cell-item', 'right', 'shadow-left', showLeftOnRightStickies);\n}\n\n/**\n * @param nileGrid Grid instance\n * @returns Object containing booleans for left/right shadow visibility\n */\nfunction getShadowStates(nileGrid: NileGrid) {\n const max = Math.max(0, nileGrid.scrollWidth - nileGrid.clientWidth);\n return {\n showRightOnLeftStickies: nileGrid.scrollLeft > 0,\n showLeftOnRightStickies: nileGrid.scrollLeft < max\n };\n}\n\n/**\n * @param root Root element (head or body)\n * @param tag Target tag selector\n * @param side Sticky side ('left' or 'right')\n * @param cls Shadow CSS class to toggle\n * @param on Whether to apply or remove the shadow\n */\nfunction toggleStickyShadow(\n root: HTMLElement | undefined,\n tag: string,\n side: 'left' | 'right',\n cls: string,\n on: boolean\n) {\n if (!root) return;\n const sel = `${tag}[data-sticky=\"${side}\"]`;\n root.querySelectorAll<HTMLElement>(sel).forEach(el => el.classList.toggle(cls, on));\n}\n\n/** rebuildTemplate\n * @param colCount Number of columns\n * @param columnWidths Array of explicit column widths (px)\n * @returns CSS grid-template-columns string\n */\nexport const rebuildTemplate = (\n colCount: number,\n columnWidths: number[]\n): string => {\n const parts: string[] = [];\n\n for (let i = 0; i < colCount; i++) {\n const explicit = columnWidths[i];\n if (i === colCount - 1) {\n parts.push(`minmax(${explicit}px, auto)`);\n } else {\n parts.push(`${explicit}px`);\n }\n }\n return parts.join(' ');\n};\n\n/** computeHeadLayout\n * @param nileGrid Grid instance\n * @param headRows Header rows (<nile-grid-row>[])\n * @param carryHead Rowspan carry tracking array\n * @param colCount Current column count\n * @param stickyLeftIndexes Left-sticky indexes\n * @param stickyRightIndexes Right-sticky indexes\n * @param columnWidths Column widths array\n * @returns Final column count after header layout\n */\nfunction computeHeadLayout(\n nileGrid: NileGrid,\n headRows: HTMLElement[],\n carryHead: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n): number {\n return layoutRows(\n nileGrid,\n headRows,\n carryHead,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n {\n itemSelector: 'nile-grid-head-item',\n useStickyAttr: true,\n handleRowBg: false,\n }\n );\n}\n\n/** computeBodyLayout\n * @param nileGrid Grid instance\n * @param bodyRows Body rows (<nile-grid-row>[])\n * @param carryBody Rowspan carry tracking array\n * @param colCount Current column count\n * @param stickyLeftIndexes Left-sticky indexes\n * @param stickyRightIndexes Right-sticky indexes\n * @param columnWidths Column widths array\n * @returns Final column count after body layout\n */\nfunction computeBodyLayout(\n nileGrid: NileGrid,\n bodyRows: HTMLElement[],\n carryBody: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n): number {\n return layoutRows(\n nileGrid,\n bodyRows,\n carryBody,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n {\n itemSelector: 'nile-grid-cell-item',\n useStickyAttr: false,\n handleRowBg: true,\n }\n );\n}\n\n/**\n * @param nileGrid Grid container element\n * @param colCount Total number of columns\n * @param columnWidths Column width array\n * @param headElement Header element for template update\n */\nexport function applyColumnsTemplate(\n nileGrid: NileGrid,\n columnWidths: number[]\n) {\n const cols = columnWidths\n .map((w, idx) => {\n if (idx === columnWidths.length - 1) {\n return `minmax(${Math.round(w)}px, auto)`;\n }\n return `${Math.max(0, Math.round(w))}px`;\n })\n .join(' ');\n nileGrid.style.setProperty('--nile-grid-columns', cols);\n}\n\n/**\n * @param order Array of sticky column indexes\n * @param pos Current position within order\n * @param widths Column widths\n * @param base Base offset value\n * @returns Computed pixel offset\n */\nfunction computeOffset(\n order: number[],\n pos: number,\n widths: number[],\n base = 0\n) {\n let total = base;\n for (let i = 0; i < pos; i++) total += widths[order[i]] ?? 0;\n return total;\n}\n\n/**\n * @param nileGrid Grid instance\n * @returns Head and body elements from the grid slot\n */\nfunction getHeadAndBody(nileGrid: NileGrid) {\n if (!nileGrid.shadowRoot) return { head: undefined, body: undefined };\n const assigned = nileGrid.slotEl.assignedElements();\n const find = (tag: string) =>\n assigned.find(n => n.tagName.toLowerCase() === tag) as HTMLElement | undefined;\n return { head: find('nile-grid-head'), body: find('nile-grid-body') };\n}"]}
|
|
1
|
+
{"version":3,"file":"nile-grid.layout.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.layout.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from './nile-grid';\nimport { getHead, getBody } from './nile-grid.utils';\nimport { getScrollbarComp } from './nile-grid.resize';\nimport { computeColumnWidths } from './nile-grid.width';\nimport { NILE_GRID_HEAD_ITEM } from './types/nile-grid.enums';\n\n/**\n * @param nileGrid Parent NileGrid instance\n * @param slotEl <slot> element hosting head/body\n * @param ensureWidths Function to ensure columnWidths length matches colCount\n * @param rebuildTemplate Function(colCount, widths) -> grid-template string\n * @param stickyLeftIndexes Mutable list of left-sticky column indexes\n * @param stickyRightIndexes Mutable list of right-sticky column indexes\n * @returns void\n */\nexport const layout = (\n nileGrid: NileGrid,\n slotEl: any,\n ensureWidths: any,\n rebuildTemplate: any,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[]\n) => {\n const head = getHead(slotEl);\n const body = getBody(slotEl);\n if (!body) return;\n\n const headRows = head\n ? (Array.from(head.querySelectorAll('nile-grid-row')) as HTMLElement[])\n : [];\n const bodyRows = Array.from(\n body.querySelectorAll('nile-grid-row')\n ) as HTMLElement[];\n\n let colCount = 0;\n colCount = computeHeadLayout(nileGrid, headRows, [], colCount, stickyLeftIndexes, stickyRightIndexes, nileGrid.columnWidths);\n if (colCount) {\n computeBodyLayout(nileGrid, bodyRows, [], colCount, stickyLeftIndexes, stickyRightIndexes, nileGrid.columnWidths);\n } else {\n colCount = computeBodyLayout(nileGrid, bodyRows, [], colCount, stickyLeftIndexes, stickyRightIndexes, nileGrid.columnWidths);\n }\n\n setTimeout(() => {\n computeColumnWidths(nileGrid, colCount, nileGrid.columnWidths, slotEl, nileGrid.lockedWidthColumns); \n });\n ensureWidths(colCount);\n nileGrid.colTemplate = rebuildTemplate(colCount, nileGrid.columnWidths);\n};\n\n/** \n * @param nileGrid The parent NileGrid instance\n * @param rows Array of grid row elements\n * @param carry Array tracking rowspan, colspan continuation\n * @param colCount Total column count\n * @param stickyLeftIndexes List of sticky-left column indexes\n * @param stickyRightIndexes List of sticky-right column indexes\n * @param columnWidths Computed column widths\n * @param opts Options controlling layout behavior\n * @returns Final computed column count\n */\nfunction layoutRows(\n nileGrid: NileGrid,\n rows: HTMLElement[],\n carry: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[],\n opts: { itemSelector: string; useStickyAttr?: boolean; handleRowBg?: boolean }\n): number {\n rows.forEach((row, rIdx) => {\n if (nileGrid.hoverable) row.setAttribute('hover', 'true');\n colCount = layoutSingleRow(\n nileGrid,\n row,\n rIdx,\n carry,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n opts\n );\n });\n return colCount;\n}\n\n/**\n * @param nileGrid The grid element being processed\n * @param row Single row element to layout\n * @param rIdx Row index in the grid\n * @param carry Rowspan tracking array\n * @param colCount Current column count\n * @param stickyLeftIndexes Sticky-left indexes\n * @param stickyRightIndexes Sticky-right indexes\n * @param columnWidths Column widths array\n * @param opts Layout options\n * @returns Updated column count\n */\nfunction layoutSingleRow(\n nileGrid: NileGrid,\n row: HTMLElement,\n rIdx: number,\n carry: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[],\n opts: { itemSelector: string; useStickyAttr?: boolean }\n): number {\n let c = 1;\n const rStart = rIdx + 1;\n const items = [...row.querySelectorAll(opts.itemSelector)] as HTMLElement[];\n\n for (const el of items) {\n while ((carry[c - 1] || 0) > 0) c++;\n ({ c, colCount } = layoutCell(\n nileGrid,\n el,\n c,\n rStart,\n carry,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n opts\n ));\n }\n decrementCarry(carry);\n return colCount;\n}\n\n/**\n * @param nileGrid The parent grid\n * @param el Cell element being laid out\n * @param c Current column index\n * @param rStart Row start index\n * @param carry Rowspan carry array\n * @param colCount Current max column count\n * @param stickyLeftIndexes Left sticky indexes\n * @param stickyRightIndexes Right sticky indexes\n * @param columnWidths Column widths\n * @param opts Sticky and layout options\n * @returns Updated column index and column count\n */\nfunction layoutCell(\n nileGrid: NileGrid,\n el: HTMLElement,\n c: number,\n rStart: number,\n carry: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[],\n opts: { useStickyAttr?: boolean }\n) {\n const colspan = Math.max(1, +el.getAttribute('colspan')! || 1);\n const rowspan = Math.max(1, +el.getAttribute('rowspan')! || 1);\n handleRowspan(nileGrid, el, rowspan);\n\n const cStart = c;\n const cEnd = c + colspan;\n setGridPosition(el, cStart, cEnd, rStart, rowspan);\n handleSticky(\n el,\n cStart,\n opts,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths\n );\n\n for (let k = 0; k < colspan; k++) {\n carry[c - 1 + k] = Math.max(carry[c - 1 + k] || 0, rowspan);\n }\n return {\n c: cEnd,\n colCount: Math.max(colCount, cEnd - 1),\n };\n}\n\n/** \n * @param nileGrid The grid container \n * @param el Element that spans multiple rows \n * @param rowspan Number of rows to span \n */\nfunction handleRowspan(nileGrid: NileGrid, el: HTMLElement, rowspan: number) {\n if (rowspan <= 1) return;\n el.style.position = \"absolute\";\n el.style.zIndex = \"1\";\n\n if (el.tagName === NILE_GRID_HEAD_ITEM) {\n if (!nileGrid.headHeight) nileGrid.headHeight = el.getBoundingClientRect().height;\n el.style.height = `${(nileGrid.headHeight * rowspan) + (rowspan - 1)}px`;\n el.style.backgroundColor = \"var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))\";\n } else {\n if (!nileGrid.cellHeight) nileGrid.cellHeight = el.getBoundingClientRect().height;\n el.style.height = `${(nileGrid.cellHeight * rowspan) + (rowspan - 1)}px`;\n el.style.backgroundColor = \"var(--nile-colors-white-base, var(--ng-colors-bg-primary))\";\n }\n}\n\n/**\n * @param el Grid item element\n * @param cStart Starting column index\n * @param cEnd Ending column index\n * @param rStart Starting row index\n * @param rowspan Row span value\n */\nfunction setGridPosition(\n el: HTMLElement,\n cStart: number,\n cEnd: number,\n rStart: number,\n rowspan: number\n) {\n const rEnd = rStart + rowspan;\n el.style.gridColumn = `${cStart} / ${cEnd}`;\n el.style.gridRow = `${rStart} / ${rEnd}`;\n (el as any).dataset.cStart = String(cStart);\n}\n\n/**\n * @param el Grid item element\n * @param cStart Column start index\n * @param opts Sticky configuration options\n * @param stickyLeftIndexes Left sticky indexes\n * @param stickyRightIndexes Right sticky indexes\n * @param columnWidths Array of column widths\n */\nfunction handleSticky(\n el: HTMLElement,\n cStart: number,\n opts: { useStickyAttr?: boolean },\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n) {\n if (opts.useStickyAttr && el.getAttribute('sticky') === \"left\" && !stickyLeftIndexes.includes(cStart - 1)) {\n stickyLeftIndexes.push(cStart - 1);\n }\n if (opts.useStickyAttr && el.getAttribute('sticky') === \"right\" && !stickyRightIndexes.includes(cStart - 1)) {\n stickyRightIndexes.push(cStart - 1);\n }\n applySticky(el, cStart - 1, stickyLeftIndexes, stickyRightIndexes, columnWidths);\n}\n\n/**\n * @param carry Rowspan tracking array\n */\nfunction decrementCarry(carry: number[]) {\n for (let i = 0; i < carry.length; i++) {\n if (carry[i] > 0) {\n carry[i]--;\n }\n }\n}\n\n/**\n * @param el Target grid cell element\n * @param colIndex Column index\n * @param stickyLeftIndexes Sticky-left indexes\n * @param stickyRightIndexes Sticky-right indexes\n * @param columnWidths Column widths array\n */\nfunction applySticky(\n el: HTMLElement,\n colIndex: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n) {\n const onLeft = stickyLeftIndexes.includes(colIndex);\n const onRight = stickyRightIndexes.includes(colIndex);\n if (!onLeft && !onRight) return;\n\n prepareStickyElement(el);\n if (onLeft && !onRight) {\n applyLeftSticky(el, colIndex, stickyLeftIndexes, columnWidths);\n } else {\n applyRightSticky(el, colIndex, stickyRightIndexes, columnWidths);\n }\n}\n\n/**\n * @param el Grid item element to prepare for sticky positioning\n */\nfunction prepareStickyElement(el: HTMLElement) {\n el.style.position = 'sticky';\n el.style.zIndex = '1';\n el.style.left = '';\n el.style.right = '';\n el.removeAttribute('data-sticky');\n}\n\n/**\n * @param el Target element\n * @param colIndex Column index\n * @param stickyLeftIndexes Sticky-left column indexes\n * @param columnWidths Column width array\n */\nfunction applyLeftSticky(\n el: HTMLElement,\n colIndex: number,\n stickyLeftIndexes: number[],\n columnWidths: number[]\n) {\n el.setAttribute('data-sticky', 'left');\n const leftOrder = [...stickyLeftIndexes].sort((a, b) => a - b);\n const pos = leftOrder.indexOf(colIndex);\n const left = computeOffset(leftOrder, pos, columnWidths);\n el.style.left = `${Math.max(0, Math.round(left))}px`;\n}\n\n/**\n * @param el Target element\n * @param colIndex Column index\n * @param stickyRightIndexes Sticky-right indexes\n * @param columnWidths Column widths array\n */\nfunction applyRightSticky(\n el: HTMLElement,\n colIndex: number,\n stickyRightIndexes: number[],\n columnWidths: number[]\n) {\n el.setAttribute('data-sticky', 'right');\n const rightOrder = [...stickyRightIndexes].sort((a, b) => b - a);\n const pos = rightOrder.indexOf(colIndex);\n const scrollbarComp = getScrollbarComp(el);\n const right = computeOffset(rightOrder, pos, columnWidths, scrollbarComp);\n el.style.right = `${Math.max(0, Math.round(right - 2))}px`;\n}\n\n/**\n * @param nileGrid Grid instance to sync shadows for\n */\nexport function syncStickyShadows(nileGrid: NileGrid) {\n const { showRightOnLeftStickies, showLeftOnRightStickies } = getShadowStates(nileGrid);\n const { head, body } = getHeadAndBody(nileGrid);\n\n toggleStickyShadow(head, 'nile-grid-head-item', 'left', 'shadow-right', showRightOnLeftStickies);\n toggleStickyShadow(body, 'nile-grid-cell-item', 'left', 'shadow-right', showRightOnLeftStickies);\n toggleStickyShadow(head, 'nile-grid-head-item', 'right', 'shadow-left', showLeftOnRightStickies);\n toggleStickyShadow(body, 'nile-grid-cell-item', 'right', 'shadow-left', showLeftOnRightStickies);\n}\n\n/**\n * @param nileGrid Grid instance\n * @returns Object containing booleans for left/right shadow visibility\n */\nfunction getShadowStates(nileGrid: NileGrid) {\n const max = Math.max(0, nileGrid.scrollWidth - nileGrid.clientWidth);\n return {\n showRightOnLeftStickies: nileGrid.scrollLeft > 0,\n showLeftOnRightStickies: nileGrid.scrollLeft < max\n };\n}\n\n/**\n * @param root Root element (head or body)\n * @param tag Target tag selector\n * @param side Sticky side ('left' or 'right')\n * @param cls Shadow CSS class to toggle\n * @param on Whether to apply or remove the shadow\n */\nfunction toggleStickyShadow(\n root: HTMLElement | undefined,\n tag: string,\n side: 'left' | 'right',\n cls: string,\n on: boolean\n) {\n if (!root) return;\n const sel = `${tag}[data-sticky=\"${side}\"]`;\n root.querySelectorAll<HTMLElement>(sel).forEach(el => el.classList.toggle(cls, on));\n}\n\n/** rebuildTemplate\n * @param colCount Number of columns\n * @param columnWidths Array of explicit column widths (px)\n * @returns CSS grid-template-columns string\n */\nexport const rebuildTemplate = (\n colCount: number,\n columnWidths: number[]\n): string => {\n const parts: string[] = [];\n\n for (let i = 0; i < colCount; i++) {\n const explicit = columnWidths[i];\n if (i === colCount - 1) {\n parts.push(`minmax(${explicit}px, auto)`);\n } else {\n parts.push(`${explicit}px`);\n }\n }\n return parts.join(' ');\n};\n\n/** computeHeadLayout\n * @param nileGrid Grid instance\n * @param headRows Header rows (<nile-grid-row>[])\n * @param carryHead Rowspan carry tracking array\n * @param colCount Current column count\n * @param stickyLeftIndexes Left-sticky indexes\n * @param stickyRightIndexes Right-sticky indexes\n * @param columnWidths Column widths array\n * @returns Final column count after header layout\n */\nfunction computeHeadLayout(\n nileGrid: NileGrid,\n headRows: HTMLElement[],\n carryHead: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n): number {\n return layoutRows(\n nileGrid,\n headRows,\n carryHead,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n {\n itemSelector: 'nile-grid-head-item',\n useStickyAttr: true,\n handleRowBg: false,\n }\n );\n}\n\n/** computeBodyLayout\n * @param nileGrid Grid instance\n * @param bodyRows Body rows (<nile-grid-row>[])\n * @param carryBody Rowspan carry tracking array\n * @param colCount Current column count\n * @param stickyLeftIndexes Left-sticky indexes\n * @param stickyRightIndexes Right-sticky indexes\n * @param columnWidths Column widths array\n * @returns Final column count after body layout\n */\nfunction computeBodyLayout(\n nileGrid: NileGrid,\n bodyRows: HTMLElement[],\n carryBody: number[],\n colCount: number,\n stickyLeftIndexes: number[],\n stickyRightIndexes: number[],\n columnWidths: number[]\n): number {\n return layoutRows(\n nileGrid,\n bodyRows,\n carryBody,\n colCount,\n stickyLeftIndexes,\n stickyRightIndexes,\n columnWidths,\n {\n itemSelector: 'nile-grid-cell-item',\n useStickyAttr: false,\n handleRowBg: true,\n }\n );\n}\n\n/**\n * @param nileGrid Grid container element\n * @param colCount Total number of columns\n * @param columnWidths Column width array\n * @param headElement Header element for template update\n */\nexport function applyColumnsTemplate(\n nileGrid: NileGrid,\n columnWidths: number[]\n) {\n const cols = columnWidths\n .map((w, idx) => {\n if (idx === columnWidths.length - 1) {\n return `minmax(${Math.round(w)}px, auto)`;\n }\n return `${Math.max(0, Math.round(w))}px`;\n })\n .join(' ');\n nileGrid.style.setProperty('--nile-grid-columns', cols);\n}\n\n/**\n * @param order Array of sticky column indexes\n * @param pos Current position within order\n * @param widths Column widths\n * @param base Base offset value\n * @returns Computed pixel offset\n */\nfunction computeOffset(\n order: number[],\n pos: number,\n widths: number[],\n base = 0\n) {\n let total = base;\n for (let i = 0; i < pos; i++) total += widths[order[i]] ?? 0;\n return total;\n}\n\n/**\n * @param nileGrid Grid instance\n * @returns Head and body elements from the grid slot\n */\nfunction getHeadAndBody(nileGrid: NileGrid) {\n if (!nileGrid.shadowRoot) return { head: undefined, body: undefined };\n const assigned = nileGrid.slotEl.assignedElements();\n const find = (tag: string) =>\n assigned.find(n => n.tagName.toLowerCase() === tag) as HTMLElement | undefined;\n return { head: find('nile-grid-head'), body: find('nile-grid-body') };\n}"]}
|
|
@@ -193,7 +193,7 @@ NileIcon.styles = css `
|
|
|
193
193
|
display: inline-flex;
|
|
194
194
|
align-items: center;
|
|
195
195
|
justify-content: center;
|
|
196
|
-
contain: content;
|
|
196
|
+
contain: var(--nile-icon-contain, content);
|
|
197
197
|
--nile-svg-stroke-width: 1.3;
|
|
198
198
|
-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
|
|
199
199
|
-moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-icon/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css, PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport type { TemplateResult } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport * as Icons from './icons/svg';\nimport { aliasMap } from './aliasmap';\n\ninterface IconPaths {\n [key: string]: string;\n}\n\ninterface ButtonClassMap {\n [key:string]: boolean;\n}\n\nconst iconPaths: IconPaths = Icons as IconPaths;\n\nconst SMALL_ICON_SIZE = 16;\nconst LARGE_ICON_SIZE = 24;\n\n/**\n * Nile icon component.\n *\n * @tag nile-icon\n *\n */\n@customElement('nile-icon')\nexport class NileIcon extends LitElement {\n /**\n * The name of the icon set\n * @attr icon set\n * @type {IconName | undefined}\n */\n @property({ type: String, reflect: true })\n public set?: string = 'local';\n\n /**\n * The name of the icon\n * @attr name\n * @type {IconName | undefined}\n */\n @property({ type: String, reflect: true })\n public name?: string;\n\n /**\n * A description of what the icon represents\n * @attr description\n */\n @property({ type: String, reflect: true })\n public description = '';\n\n @property({ type: String, reflect: true })\n public method = 'fill';\n\n /**\n * A path to a custom SVG file to display as the icon\n * @attr customSvgPath\n */\n @property({ type: String })\n public customSvgPath?: string;\n\n /**\n * A size of what the icon represents\n * @attr size\n */\n @property({ type: String, reflect: true })\n public size = SMALL_ICON_SIZE;\n\n @state()\n private _svg = '';\n\n @property({ type: String }) override title = 'agents';\n\n /**\n * Color\n */\n @property({ reflect: true }) color: any ;\n\n @property({ type: Boolean })\n public push = false;\n\n @property({ type: Boolean })\n public noFill = false;\n\n /**\n * Retain Viewbox\n */\n\n @property({ reflect: true }) frame: any;\n\n static override styles = css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n contain: content;\n --nile-svg-stroke-width: 1.3;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .nds-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .nds-icon svg {\n height: var(--nile-svg-height);\n width: var(--nile-svg-width);\n stroke: var(--nile-svg-stroke);\n }\n\n .nds-icon svg path {\n fill: var(--nile-svg-fill);\n }\n\n .nds-icon.no-fill svg path {\n fill: revert-layer;\n }\n\n .stroke svg path {\n fill: none !important;\n stroke: var(--nile-svg-fill) !important;\n stroke-width: var(--nile-svg-stroke-width);\n }\n\n .nds-icon--push {\n margin-right: var(--nile-spacing-lg);\n }\n `;\n\n private _getIconSize(): number {\n return this.name?.endsWith('-small') ? SMALL_ICON_SIZE : LARGE_ICON_SIZE;\n }\n\n protected override async updated(\n changedProperties: PropertyValues\n ): Promise<void> {\n\n if (changedProperties.has('size')) {\n const resolved = this.resolveCssVarExpression(`${this.size}`);\n if (resolved) {\n const numeric = parseInt(resolved.replace(/px$/, '').trim(), 10);\n if (!isNaN(numeric)) {\n this.size = numeric; \n }\n }\n this.style.setProperty('--nile-svg-height', `${this.size}px`);\n this.style.setProperty('--nile-svg-width', `${this.size}px`);\n }\n \n if (changedProperties.has('color')) {\n this.style.setProperty('--nile-svg-fill', `${this.color}`);\n }\n\n if (changedProperties.has('method')) {\n const resolved = this.resolveCssVarExpression(this.method);\n if (resolved) this.method = resolved.trim();\n }\n\n if (changedProperties.has('name') || changedProperties.has('customSvgPath')) {\n const raw = this.name?.replace(/-/g, '') ?? '';\n const iconName = aliasMap[raw] || raw;\n if (iconName && iconPaths[iconName]) {\n this._svg = atob(iconPaths[iconName]);\n } else if (this.customSvgPath) {\n this._svg = await this.fetchSvg(this.customSvgPath);\n } else {\n // throw new Error(`No icon named \"${this.name}\"`);\n const a = this.resolveCssVarExpression(this.name!)\n this.name = a!;\n }\n }\n this.addAttributesToSvg();\n }\n\n resolveCssVarExpression(expression: string): string | null {\n if(!expression) {\n return null;\n }\n \n const regex = /var\\((--[^,\\s)]+)(?:,\\s*(.+))?\\)/;\n \n let match = expression?.trim(); \n let attempts = 0;\n \n while (match.startsWith(\"var(\") && attempts++ < 10) {\n const parts = match.match(regex);\n if (!parts) break;\n \n const [, varName, fallback] = parts;\n const value = getComputedStyle(document.documentElement).getPropertyValue(varName).trim();\n if (value) {\n return value;\n } else if (fallback) {\n match = fallback.trim();\n } else {\n return null;\n }\n }\n return match || null;\n }\n\n private addAttributesToSvg(){\n const svg = this.renderRoot.querySelector('#svg')\n const attrs = svg?.attributes\n if(!attrs?.getNamedItem('xmlns')){\n svg?.setAttribute('xmlns',\"http://www.w3.org/2000/svg\");\n }\n if(!attrs?.getNamedItem('version')){\n svg?.setAttribute(\"version\",\"1.1\")\n }\n if(this.frame){\n svg?.setAttribute('viewBox',`0 0 ${this.frame} ${this.frame}`)\n }\n else if(!attrs?.getNamedItem('viewBox')){\n const viewboxLogic = this.frame\n ? `0 0 ${this.frame} ${this.frame}`\n : '0 0 16 16';\n svg?.setAttribute('viewBox',viewboxLogic)\n }\n\n if(!attrs?.getNamedItem('height')){\n svg?.setAttribute('height',String(this.size));\n svg?.setAttribute('width',String(this.size));\n }\n\n svg?.setAttribute('aria-hidden',`${this.description === ''}`);\n svg?.setAttribute('aria-label',this.description || '');\n\n const additionalClasses = Object.keys(this.buttonClassMap).filter((key:string)=> this.buttonClassMap[key])\n\n svg?.classList.add('nds-icon',...additionalClasses)\n }\n\n private async fetchSvg(path: string): Promise<string> {\n const response = await fetch(path);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n return await response.text();\n }\n\n private removeHyphens(iconName: string) {\n return iconName.replace(/-/g, '');\n }\n\n private getSvgTemplate(){\n const svgTagRegexPattern =/<svg\\s[^>]*>/;\n const regexToGetSVGAttrs = this._svg.match(svgTagRegexPattern);\n const svgAttrs = regexToGetSVGAttrs?.[0].replace('<svg','').replace('>','')\n const svgBody = this._svg.replace(\n svgTagRegexPattern,\n ''\n )\n .replace('</svg>', '')\n return `<svg\n id='svg'\n focusable='true'\n role='img'\n ${svgAttrs}\n >\n ${svgBody}\n </svg>`\n }\n\n get buttonClassMap() {\n return {\n 'stroke': this.method != 'fill' ,\n 'nds-icon--push': this.push,\n 'no-fill': this.noFill,\n } as ButtonClassMap;\n }\n\n protected override render(): TemplateResult {\n const size = this.size;\n const color = this.color;\n\n /**\n * When icons are outside frame\n */\n const viewboxLogic = this.frame\n ? `0 0 ${this.frame} ${this.frame}`\n : '0 0 16 16';\n\n\n if (\n (!this._svg.includes('fill=') || this._svg.includes('fill=\"inherit\"')) &&\n !this.color\n ) {\n // Case 1: _svg does not have fill color or has fill=\"inherit\" and this.color is not mentioned\n this.style.setProperty('--nile-svg-fill', `var(--nile-colors-dark-500,var(--ng-colors-fg-secondary-700))`);\n\n } else if (this.color) {\n // Case 2: If this.color is mentioned, use it as fill, regardless of _svg color\n this.style.setProperty('--nile-svg-fill', `${this.color}`);\n }\n\n return html`\n <span class=\"nds-icon ${classMap(this.buttonClassMap)}\">\n ${unsafeSVG(this.getSvgTemplate())}\n </span>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-icon': NileIcon;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-icon/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css, PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport type { TemplateResult } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport * as Icons from './icons/svg';\nimport { aliasMap } from './aliasmap';\n\ninterface IconPaths {\n [key: string]: string;\n}\n\ninterface ButtonClassMap {\n [key:string]: boolean;\n}\n\nconst iconPaths: IconPaths = Icons as IconPaths;\n\nconst SMALL_ICON_SIZE = 16;\nconst LARGE_ICON_SIZE = 24;\n\n/**\n * Nile icon component.\n *\n * @tag nile-icon\n *\n */\n@customElement('nile-icon')\nexport class NileIcon extends LitElement {\n /**\n * The name of the icon set\n * @attr icon set\n * @type {IconName | undefined}\n */\n @property({ type: String, reflect: true })\n public set?: string = 'local';\n\n /**\n * The name of the icon\n * @attr name\n * @type {IconName | undefined}\n */\n @property({ type: String, reflect: true })\n public name?: string;\n\n /**\n * A description of what the icon represents\n * @attr description\n */\n @property({ type: String, reflect: true })\n public description = '';\n\n @property({ type: String, reflect: true })\n public method = 'fill';\n\n /**\n * A path to a custom SVG file to display as the icon\n * @attr customSvgPath\n */\n @property({ type: String })\n public customSvgPath?: string;\n\n /**\n * A size of what the icon represents\n * @attr size\n */\n @property({ type: String, reflect: true })\n public size = SMALL_ICON_SIZE;\n\n @state()\n private _svg = '';\n\n @property({ type: String }) override title = 'agents';\n\n /**\n * Color\n */\n @property({ reflect: true }) color: any ;\n\n @property({ type: Boolean })\n public push = false;\n\n @property({ type: Boolean })\n public noFill = false;\n\n /**\n * Retain Viewbox\n */\n\n @property({ reflect: true }) frame: any;\n\n static override styles = css`\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n contain: var(--nile-icon-contain, content);\n --nile-svg-stroke-width: 1.3;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .nds-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .nds-icon svg {\n height: var(--nile-svg-height);\n width: var(--nile-svg-width);\n stroke: var(--nile-svg-stroke);\n }\n\n .nds-icon svg path {\n fill: var(--nile-svg-fill);\n }\n\n .nds-icon.no-fill svg path {\n fill: revert-layer;\n }\n\n .stroke svg path {\n fill: none !important;\n stroke: var(--nile-svg-fill) !important;\n stroke-width: var(--nile-svg-stroke-width);\n }\n\n .nds-icon--push {\n margin-right: var(--nile-spacing-lg);\n }\n `;\n\n private _getIconSize(): number {\n return this.name?.endsWith('-small') ? SMALL_ICON_SIZE : LARGE_ICON_SIZE;\n }\n\n protected override async updated(\n changedProperties: PropertyValues\n ): Promise<void> {\n\n if (changedProperties.has('size')) {\n const resolved = this.resolveCssVarExpression(`${this.size}`);\n if (resolved) {\n const numeric = parseInt(resolved.replace(/px$/, '').trim(), 10);\n if (!isNaN(numeric)) {\n this.size = numeric; \n }\n }\n this.style.setProperty('--nile-svg-height', `${this.size}px`);\n this.style.setProperty('--nile-svg-width', `${this.size}px`);\n }\n \n if (changedProperties.has('color')) {\n this.style.setProperty('--nile-svg-fill', `${this.color}`);\n }\n\n if (changedProperties.has('method')) {\n const resolved = this.resolveCssVarExpression(this.method);\n if (resolved) this.method = resolved.trim();\n }\n\n if (changedProperties.has('name') || changedProperties.has('customSvgPath')) {\n const raw = this.name?.replace(/-/g, '') ?? '';\n const iconName = aliasMap[raw] || raw;\n if (iconName && iconPaths[iconName]) {\n this._svg = atob(iconPaths[iconName]);\n } else if (this.customSvgPath) {\n this._svg = await this.fetchSvg(this.customSvgPath);\n } else {\n // throw new Error(`No icon named \"${this.name}\"`);\n const a = this.resolveCssVarExpression(this.name!)\n this.name = a!;\n }\n }\n this.addAttributesToSvg();\n }\n\n resolveCssVarExpression(expression: string): string | null {\n if(!expression) {\n return null;\n }\n \n const regex = /var\\((--[^,\\s)]+)(?:,\\s*(.+))?\\)/;\n \n let match = expression?.trim(); \n let attempts = 0;\n \n while (match.startsWith(\"var(\") && attempts++ < 10) {\n const parts = match.match(regex);\n if (!parts) break;\n \n const [, varName, fallback] = parts;\n const value = getComputedStyle(document.documentElement).getPropertyValue(varName).trim();\n if (value) {\n return value;\n } else if (fallback) {\n match = fallback.trim();\n } else {\n return null;\n }\n }\n return match || null;\n }\n\n private addAttributesToSvg(){\n const svg = this.renderRoot.querySelector('#svg')\n const attrs = svg?.attributes\n if(!attrs?.getNamedItem('xmlns')){\n svg?.setAttribute('xmlns',\"http://www.w3.org/2000/svg\");\n }\n if(!attrs?.getNamedItem('version')){\n svg?.setAttribute(\"version\",\"1.1\")\n }\n if(this.frame){\n svg?.setAttribute('viewBox',`0 0 ${this.frame} ${this.frame}`)\n }\n else if(!attrs?.getNamedItem('viewBox')){\n const viewboxLogic = this.frame\n ? `0 0 ${this.frame} ${this.frame}`\n : '0 0 16 16';\n svg?.setAttribute('viewBox',viewboxLogic)\n }\n\n if(!attrs?.getNamedItem('height')){\n svg?.setAttribute('height',String(this.size));\n svg?.setAttribute('width',String(this.size));\n }\n\n svg?.setAttribute('aria-hidden',`${this.description === ''}`);\n svg?.setAttribute('aria-label',this.description || '');\n\n const additionalClasses = Object.keys(this.buttonClassMap).filter((key:string)=> this.buttonClassMap[key])\n\n svg?.classList.add('nds-icon',...additionalClasses)\n }\n\n private async fetchSvg(path: string): Promise<string> {\n const response = await fetch(path);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n return await response.text();\n }\n\n private removeHyphens(iconName: string) {\n return iconName.replace(/-/g, '');\n }\n\n private getSvgTemplate(){\n const svgTagRegexPattern =/<svg\\s[^>]*>/;\n const regexToGetSVGAttrs = this._svg.match(svgTagRegexPattern);\n const svgAttrs = regexToGetSVGAttrs?.[0].replace('<svg','').replace('>','')\n const svgBody = this._svg.replace(\n svgTagRegexPattern,\n ''\n )\n .replace('</svg>', '')\n return `<svg\n id='svg'\n focusable='true'\n role='img'\n ${svgAttrs}\n >\n ${svgBody}\n </svg>`\n }\n\n get buttonClassMap() {\n return {\n 'stroke': this.method != 'fill' ,\n 'nds-icon--push': this.push,\n 'no-fill': this.noFill,\n } as ButtonClassMap;\n }\n\n protected override render(): TemplateResult {\n const size = this.size;\n const color = this.color;\n\n /**\n * When icons are outside frame\n */\n const viewboxLogic = this.frame\n ? `0 0 ${this.frame} ${this.frame}`\n : '0 0 16 16';\n\n\n if (\n (!this._svg.includes('fill=') || this._svg.includes('fill=\"inherit\"')) &&\n !this.color\n ) {\n // Case 1: _svg does not have fill color or has fill=\"inherit\" and this.color is not mentioned\n this.style.setProperty('--nile-svg-fill', `var(--nile-colors-dark-500,var(--ng-colors-fg-secondary-700))`);\n\n } else if (this.color) {\n // Case 2: If this.color is mentioned, use it as fill, regardless of _svg color\n this.style.setProperty('--nile-svg-fill', `${this.color}`);\n }\n\n return html`\n <span class=\"nds-icon ${classMap(this.buttonClassMap)}\">\n ${unsafeSVG(this.getSvgTemplate())}\n </span>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-icon': NileIcon;\n }\n}\n"]}
|
|
@@ -48,8 +48,8 @@ export const styles = css `
|
|
|
48
48
|
flex-direction: column;
|
|
49
49
|
gap: var(--nile-spacing-xs);
|
|
50
50
|
padding-right: var(--nile-spacing-xl);
|
|
51
|
-
padding-top: var(--nile-spacing-
|
|
52
|
-
padding-bottom: var(--nile-spacing-
|
|
51
|
+
padding-top: var(--nile-spacing-3xl);
|
|
52
|
+
padding-bottom: var(--nile-spacing-3xl);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
nile-side-bar-action-menu {
|
|
@@ -70,6 +70,13 @@ export const styles = css `
|
|
|
70
70
|
margin-left: 0;
|
|
71
71
|
margin-right: 0;
|
|
72
72
|
border-radius: 0;
|
|
73
|
+
color: black;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
nile-side-bar-action-menu-item[active]::part(base):hover {
|
|
78
|
+
background: var(--nile-colors-primary-100);
|
|
79
|
+
color: black;
|
|
73
80
|
}
|
|
74
81
|
|
|
75
82
|
nile-side-bar-action-menu-item::part(label) {
|
|
@@ -78,6 +85,7 @@ export const styles = css `
|
|
|
78
85
|
white-space: nowrap;
|
|
79
86
|
overflow: hidden;
|
|
80
87
|
text-overflow: ellipsis;
|
|
88
|
+
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
/* Transition for sidebar button when it is closed and opened */
|