@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,27 @@
|
|
|
1
|
+
export class AnchorManager {
|
|
2
|
+
static resolveAnchor(anchor) {
|
|
3
|
+
if (anchor instanceof HTMLElement) {
|
|
4
|
+
return anchor;
|
|
5
|
+
}
|
|
6
|
+
if (typeof anchor === 'string') {
|
|
7
|
+
const element = document.querySelector(anchor);
|
|
8
|
+
if (element) {
|
|
9
|
+
return element;
|
|
10
|
+
}
|
|
11
|
+
const byId = document.getElementById(anchor);
|
|
12
|
+
if (byId) {
|
|
13
|
+
return byId;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return document.body;
|
|
17
|
+
}
|
|
18
|
+
static appendToAnchor(anchor, panelContainer) {
|
|
19
|
+
anchor.appendChild(panelContainer);
|
|
20
|
+
}
|
|
21
|
+
static removeFromAnchor(panelContainer) {
|
|
22
|
+
if (panelContainer.parentNode) {
|
|
23
|
+
panelContainer.parentNode.removeChild(panelContainer);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=anchor-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor-manager.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/anchor-manager.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,aAAa,CAAC,MAA2B;QAC9C,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAgB,CAAC;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAAmB,EAAE,cAA2B;QACpE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,cAA2B;QACjD,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC9B,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF","sourcesContent":["import type { FloatingPanelAnchor } from './types';\n\nexport class AnchorManager {\n static resolveAnchor(anchor: FloatingPanelAnchor): HTMLElement {\n if (anchor instanceof HTMLElement) {\n return anchor;\n }\n\n if (typeof anchor === 'string') {\n const element = document.querySelector(anchor) as HTMLElement;\n if (element) {\n return element;\n }\n const byId = document.getElementById(anchor);\n if (byId) {\n return byId;\n }\n }\n\n return document.body;\n }\n\n static appendToAnchor(anchor: HTMLElement, panelContainer: HTMLElement): void {\n anchor.appendChild(panelContainer);\n }\n\n static removeFromAnchor(panelContainer: HTMLElement): void {\n if (panelContainer.parentNode) {\n panelContainer.parentNode.removeChild(panelContainer);\n }\n }\n}\n\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare class ContentManager {
|
|
2
|
+
static updatePanelContent(panelContainer: HTMLElement, slot: HTMLSlotElement | null, dataContent: string): void;
|
|
3
|
+
static hasSlotContent(slot: HTMLSlotElement | null): boolean;
|
|
4
|
+
static getSlotContent(slot: HTMLSlotElement | null): Node[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class ContentManager {
|
|
2
|
+
static updatePanelContent(panelContainer, slot, dataContent) {
|
|
3
|
+
panelContainer.innerHTML = '';
|
|
4
|
+
const slotContent = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
5
|
+
const hasSlotContent = slotContent.length > 0 &&
|
|
6
|
+
slotContent.some(node => {
|
|
7
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
8
|
+
return node.textContent?.trim() !== '';
|
|
9
|
+
}
|
|
10
|
+
return node instanceof HTMLElement;
|
|
11
|
+
});
|
|
12
|
+
if (hasSlotContent) {
|
|
13
|
+
slotContent.forEach(node => {
|
|
14
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
15
|
+
const textNode = document.createTextNode(node.textContent || '');
|
|
16
|
+
panelContainer.appendChild(textNode);
|
|
17
|
+
}
|
|
18
|
+
else if (node instanceof HTMLElement) {
|
|
19
|
+
panelContainer.appendChild(node.cloneNode(true));
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else if (dataContent) {
|
|
24
|
+
panelContainer.textContent = dataContent;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
static hasSlotContent(slot) {
|
|
28
|
+
if (!slot) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
const slotContent = slot.assignedNodes({ flatten: true });
|
|
32
|
+
return slotContent.length > 0 &&
|
|
33
|
+
slotContent.some(node => {
|
|
34
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
35
|
+
return node.textContent?.trim() !== '';
|
|
36
|
+
}
|
|
37
|
+
return node instanceof HTMLElement;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
static getSlotContent(slot) {
|
|
41
|
+
return slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=content-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-manager.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/content-manager.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,kBAAkB,CACvB,cAA2B,EAC3B,IAA4B,EAC5B,WAAmB;QAEnB,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YAC3C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzC,CAAC;gBACD,OAAO,IAAI,YAAY,WAAW,CAAC;YACrC,CAAC,CAAC,CAAC;QAEL,IAAI,cAAc,EAAE,CAAC;YACnB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;oBACjE,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;oBACvC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAA4B;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACzC,CAAC;gBACD,OAAO,IAAI,YAAY,WAAW,CAAC;YACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAA4B;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;CACF","sourcesContent":["import type { FloatingPanelContentConfig } from './types';\n\nexport class ContentManager {\n static updatePanelContent(\n panelContainer: HTMLElement,\n slot: HTMLSlotElement | null,\n dataContent: string\n ): void {\n panelContainer.innerHTML = '';\n\n const slotContent = slot ? slot.assignedNodes({ flatten: true }) : [];\n\n const hasSlotContent = slotContent.length > 0 &&\n slotContent.some(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n return node.textContent?.trim() !== '';\n }\n return node instanceof HTMLElement;\n });\n\n if (hasSlotContent) {\n slotContent.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n const textNode = document.createTextNode(node.textContent || '');\n panelContainer.appendChild(textNode);\n } else if (node instanceof HTMLElement) {\n panelContainer.appendChild(node.cloneNode(true));\n }\n });\n } else if (dataContent) {\n panelContainer.textContent = dataContent;\n }\n }\n\n static hasSlotContent(slot: HTMLSlotElement | null): boolean {\n if (!slot) {\n return false;\n }\n\n const slotContent = slot.assignedNodes({ flatten: true });\n return slotContent.length > 0 &&\n slotContent.some(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n return node.textContent?.trim() !== '';\n }\n return node instanceof HTMLElement;\n });\n }\n\n static getSlotContent(slot: HTMLSlotElement | null): Node[] {\n return slot ? slot.assignedNodes({ flatten: true }) : [];\n }\n}\n\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class EventManager {
|
|
2
|
+
private component;
|
|
3
|
+
private panelContainer;
|
|
4
|
+
private closeOnOutsideClick;
|
|
5
|
+
private isOpen;
|
|
6
|
+
private boundHandleDocumentClick;
|
|
7
|
+
private onCloseCallback;
|
|
8
|
+
constructor(component: HTMLElement);
|
|
9
|
+
setupOutsideClickHandler(panelContainer: HTMLElement, closeOnOutsideClick: boolean, isOpen: boolean, onClose: () => void): void;
|
|
10
|
+
updateOutsideClickHandler(panelContainer: HTMLElement | null, closeOnOutsideClick: boolean, isOpen: boolean): void;
|
|
11
|
+
cleanupOutsideClickHandler(): void;
|
|
12
|
+
private handleDocumentClick;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export class EventManager {
|
|
2
|
+
constructor(component) {
|
|
3
|
+
this.panelContainer = null;
|
|
4
|
+
this.closeOnOutsideClick = true;
|
|
5
|
+
this.isOpen = false;
|
|
6
|
+
this.boundHandleDocumentClick = null;
|
|
7
|
+
this.onCloseCallback = null;
|
|
8
|
+
this.component = component;
|
|
9
|
+
}
|
|
10
|
+
setupOutsideClickHandler(panelContainer, closeOnOutsideClick, isOpen, onClose) {
|
|
11
|
+
this.panelContainer = panelContainer;
|
|
12
|
+
this.closeOnOutsideClick = closeOnOutsideClick;
|
|
13
|
+
this.isOpen = isOpen;
|
|
14
|
+
this.onCloseCallback = onClose;
|
|
15
|
+
if (!this.closeOnOutsideClick || this.boundHandleDocumentClick) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
this.boundHandleDocumentClick = this.handleDocumentClick.bind(this);
|
|
19
|
+
document.addEventListener('mousedown', this.boundHandleDocumentClick, true);
|
|
20
|
+
}
|
|
21
|
+
updateOutsideClickHandler(panelContainer, closeOnOutsideClick, isOpen) {
|
|
22
|
+
this.panelContainer = panelContainer;
|
|
23
|
+
this.closeOnOutsideClick = closeOnOutsideClick;
|
|
24
|
+
this.isOpen = isOpen;
|
|
25
|
+
this.cleanupOutsideClickHandler();
|
|
26
|
+
if (isOpen && closeOnOutsideClick && panelContainer) {
|
|
27
|
+
this.boundHandleDocumentClick = this.handleDocumentClick.bind(this);
|
|
28
|
+
document.addEventListener('mousedown', this.boundHandleDocumentClick, true);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
cleanupOutsideClickHandler() {
|
|
32
|
+
if (this.boundHandleDocumentClick) {
|
|
33
|
+
document.removeEventListener('mousedown', this.boundHandleDocumentClick, true);
|
|
34
|
+
this.boundHandleDocumentClick = null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
handleDocumentClick(event) {
|
|
38
|
+
if (!this.isOpen || !this.closeOnOutsideClick || !this.panelContainer || !this.onCloseCallback) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const target = event.target;
|
|
42
|
+
if (!this.panelContainer.contains(target) && !this.component.contains(target)) {
|
|
43
|
+
this.onCloseCallback();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
destroy() {
|
|
47
|
+
this.cleanupOutsideClickHandler();
|
|
48
|
+
this.panelContainer = null;
|
|
49
|
+
this.onCloseCallback = null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=event-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-manager.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/event-manager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAQvB,YAAY,SAAsB;QAN1B,mBAAc,GAAuB,IAAI,CAAC;QAC1C,wBAAmB,GAAY,IAAI,CAAC;QACpC,WAAM,GAAY,KAAK,CAAC;QACxB,6BAAwB,GAAyC,IAAI,CAAC;QACtE,oBAAe,GAAwB,IAAI,CAAC;QAGlD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,wBAAwB,CACtB,cAA2B,EAC3B,mBAA4B,EAC5B,MAAe,EACf,OAAmB;QAEnB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,yBAAyB,CACvB,cAAkC,EAClC,mBAA4B,EAC5B,MAAe;QAEf,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,MAAM,IAAI,mBAAmB,IAAI,cAAc,EAAE,CAAC;YACpD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAC/E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAiB;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/F,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAc,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;CACF","sourcesContent":["export class EventManager {\n private component: HTMLElement;\n private panelContainer: HTMLElement | null = null;\n private closeOnOutsideClick: boolean = true;\n private isOpen: boolean = false;\n private boundHandleDocumentClick: ((event: MouseEvent) => void) | null = null;\n private onCloseCallback: (() => void) | null = null;\n\n constructor(component: HTMLElement) {\n this.component = component;\n }\n\n setupOutsideClickHandler(\n panelContainer: HTMLElement,\n closeOnOutsideClick: boolean,\n isOpen: boolean,\n onClose: () => void\n ): void {\n this.panelContainer = panelContainer;\n this.closeOnOutsideClick = closeOnOutsideClick;\n this.isOpen = isOpen;\n this.onCloseCallback = onClose;\n\n if (!this.closeOnOutsideClick || this.boundHandleDocumentClick) {\n return;\n }\n\n this.boundHandleDocumentClick = this.handleDocumentClick.bind(this);\n document.addEventListener('mousedown', this.boundHandleDocumentClick, true);\n }\n\n updateOutsideClickHandler(\n panelContainer: HTMLElement | null,\n closeOnOutsideClick: boolean,\n isOpen: boolean\n ): void {\n this.panelContainer = panelContainer;\n this.closeOnOutsideClick = closeOnOutsideClick;\n this.isOpen = isOpen;\n\n this.cleanupOutsideClickHandler();\n\n if (isOpen && closeOnOutsideClick && panelContainer) {\n this.boundHandleDocumentClick = this.handleDocumentClick.bind(this);\n document.addEventListener('mousedown', this.boundHandleDocumentClick, true);\n }\n }\n\n cleanupOutsideClickHandler(): void {\n if (this.boundHandleDocumentClick) {\n document.removeEventListener('mousedown', this.boundHandleDocumentClick, true);\n this.boundHandleDocumentClick = null;\n }\n }\n\n private handleDocumentClick(event: MouseEvent): void {\n if (!this.isOpen || !this.closeOnOutsideClick || !this.panelContainer || !this.onCloseCallback) {\n return;\n }\n\n const target = event.target as Node;\n\n if (!this.panelContainer.contains(target) && !this.component.contains(target)) {\n this.onCloseCallback();\n }\n }\n\n destroy(): void {\n this.cleanupOutsideClickHandler();\n this.panelContainer = null;\n this.onCloseCallback = null;\n }\n}\n\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NileFloatingPanel } from './nile-floating-panel';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["export { NileFloatingPanel } from './nile-floating-panel';\n\n"]}
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
/**
|
|
8
|
-
* GridBody CSS
|
|
9
|
-
*/
|
|
10
7
|
export declare const styles: import("lit").CSSResult;
|
|
8
|
+
export declare const panelContainerStyles: import("lit").CSSResult;
|
|
11
9
|
declare const _default: import("lit").CSSResult[];
|
|
12
10
|
export default _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { css } from 'lit';
|
|
8
|
+
export const styles = css `
|
|
9
|
+
:host {
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
|
|
12
|
+
-moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));
|
|
13
|
+
text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));
|
|
14
|
+
display: inline-block;
|
|
15
|
+
position: relative;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:host([hidden]) {
|
|
19
|
+
display: none;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
slot {
|
|
23
|
+
display: none;
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
export const panelContainerStyles = css `
|
|
27
|
+
.nile-floating-panel__container {
|
|
28
|
+
position: fixed;
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
z-index: 800;
|
|
31
|
+
background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
32
|
+
border: solid 1px var(--nile-colors-dark-200, var(--ng-colors-border-secondary-alt));
|
|
33
|
+
border-radius: var(--nile-radius-sm, var(--ng-radius-md));
|
|
34
|
+
box-shadow: var(--nile-box-shadow-2, var(--ng-shadow-lg));
|
|
35
|
+
padding: var(--nile-spacing-xl, var(--ng-spacing-xl));
|
|
36
|
+
min-width: var(--nile-width-352px, var(--ng-width-80));
|
|
37
|
+
color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
|
|
38
|
+
font-family: var(--nile-font-family-serif, var(--ng-font-family-body));
|
|
39
|
+
font-size: var(--nile-type-scale-4, var(--ng-font-size-text-sm));
|
|
40
|
+
font-style: normal;
|
|
41
|
+
font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));
|
|
42
|
+
line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-sm));
|
|
43
|
+
letter-spacing: var(--nile-spacing-one-by-five-x, var(--ng-spacing-none));
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
export default [styles];
|
|
47
|
+
//# sourceMappingURL=nile-floating-panel.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-floating-panel.css.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/nile-floating-panel.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;CAiBxB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;CAmBtC,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';\nexport const styles = css`\n :host {\n box-sizing: border-box;\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 display: inline-block;\n position: relative;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n slot {\n display: none;\n }\n`;\n\nexport const panelContainerStyles = css`\n .nile-floating-panel__container {\n position: fixed;\n box-sizing: border-box;\n z-index: 800;\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-dark-200, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n box-shadow: var(--nile-box-shadow-2, var(--ng-shadow-lg));\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n min-width: var(--nile-width-352px, var(--ng-width-80));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-semibold));\n line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-sm));\n letter-spacing: var(--nile-spacing-one-by-five-x, var(--ng-spacing-none));\n }\n`;\n\nexport default [styles];\n\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CSSResultArray, TemplateResult } from 'lit';
|
|
2
|
+
import NileElement from '../internal/nile-element';
|
|
3
|
+
import type { FloatingPanelPosition, FloatingPanelAnchor } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Nile floating panel component.
|
|
6
|
+
*
|
|
7
|
+
* @tag nile-floating-panel
|
|
8
|
+
* @event nile-show - Emitted when the panel opens.
|
|
9
|
+
* @event nile-hide - Emitted when the panel closes.
|
|
10
|
+
*/
|
|
11
|
+
export declare class NileFloatingPanel extends NileElement {
|
|
12
|
+
static get styles(): CSSResultArray;
|
|
13
|
+
anchor: FloatingPanelAnchor;
|
|
14
|
+
position: FloatingPanelPosition;
|
|
15
|
+
open: boolean;
|
|
16
|
+
closeOnOutsideClick: boolean;
|
|
17
|
+
enableVisibilityEffect: boolean;
|
|
18
|
+
enableTabClose: boolean;
|
|
19
|
+
private panelContainer;
|
|
20
|
+
private positionManager;
|
|
21
|
+
private styleManager;
|
|
22
|
+
private eventManager;
|
|
23
|
+
private visibilityManager?;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
disconnectedCallback(): void;
|
|
26
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
27
|
+
private setupPanel;
|
|
28
|
+
private setupEventHandlers;
|
|
29
|
+
private setupPositionManager;
|
|
30
|
+
private findTriggerElement;
|
|
31
|
+
private setupVisibilityManager;
|
|
32
|
+
private updatePanelContent;
|
|
33
|
+
private reposition;
|
|
34
|
+
private cleanupPanel;
|
|
35
|
+
render(): TemplateResult;
|
|
36
|
+
private handleSlotChange;
|
|
37
|
+
}
|
|
38
|
+
export default NileFloatingPanel;
|
|
39
|
+
declare global {
|
|
40
|
+
interface HTMLElementTagNameMap {
|
|
41
|
+
'nile-floating-panel': NileFloatingPanel;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
var NileFloatingPanel_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { html, } from 'lit';
|
|
4
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
5
|
+
import { styles } from './nile-floating-panel.css';
|
|
6
|
+
import NileElement from '../internal/nile-element';
|
|
7
|
+
import { PositionManager } from './position-manager';
|
|
8
|
+
import { StyleManager } from './style-manager';
|
|
9
|
+
import { ContentManager } from './content-manager';
|
|
10
|
+
import { AnchorManager } from './anchor-manager';
|
|
11
|
+
import { EventManager } from './event-manager';
|
|
12
|
+
import { VisibilityManager } from '../utilities/visibility-manager';
|
|
13
|
+
/**
|
|
14
|
+
* Nile floating panel component.
|
|
15
|
+
*
|
|
16
|
+
* @tag nile-floating-panel
|
|
17
|
+
* @event nile-show - Emitted when the panel opens.
|
|
18
|
+
* @event nile-hide - Emitted when the panel closes.
|
|
19
|
+
*/
|
|
20
|
+
let NileFloatingPanel = NileFloatingPanel_1 = class NileFloatingPanel extends NileElement {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.anchor = null;
|
|
24
|
+
this.position = 'bottom';
|
|
25
|
+
this.open = false;
|
|
26
|
+
this.closeOnOutsideClick = true;
|
|
27
|
+
this.enableVisibilityEffect = true;
|
|
28
|
+
this.enableTabClose = false;
|
|
29
|
+
this.panelContainer = null;
|
|
30
|
+
this.positionManager = null;
|
|
31
|
+
this.styleManager = new StyleManager();
|
|
32
|
+
this.eventManager = new EventManager(this);
|
|
33
|
+
this.handleSlotChange = () => {
|
|
34
|
+
if (this.open && this.panelContainer) {
|
|
35
|
+
this.updatePanelContent();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
static get styles() {
|
|
40
|
+
return [styles];
|
|
41
|
+
}
|
|
42
|
+
connectedCallback() {
|
|
43
|
+
super.connectedCallback();
|
|
44
|
+
}
|
|
45
|
+
disconnectedCallback() {
|
|
46
|
+
super.disconnectedCallback();
|
|
47
|
+
this.cleanupPanel();
|
|
48
|
+
this.visibilityManager?.cleanup();
|
|
49
|
+
}
|
|
50
|
+
updated(changedProperties) {
|
|
51
|
+
super.updated(changedProperties);
|
|
52
|
+
if (changedProperties.has('open')) {
|
|
53
|
+
if (this.open) {
|
|
54
|
+
this.emit('nile-show');
|
|
55
|
+
this.setupPanel();
|
|
56
|
+
this.visibilityManager?.setup();
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.emit('nile-hide');
|
|
60
|
+
this.visibilityManager?.cleanup();
|
|
61
|
+
this.cleanupPanel();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (changedProperties.has('closeOnOutsideClick') &&
|
|
65
|
+
this.open &&
|
|
66
|
+
this.panelContainer) {
|
|
67
|
+
this.eventManager.updateOutsideClickHandler(this.panelContainer, this.closeOnOutsideClick, this.open);
|
|
68
|
+
}
|
|
69
|
+
if (changedProperties.has('anchor') && this.open) {
|
|
70
|
+
this.cleanupPanel();
|
|
71
|
+
this.setupPanel();
|
|
72
|
+
}
|
|
73
|
+
if ((changedProperties.has('enableVisibilityEffect') ||
|
|
74
|
+
changedProperties.has('enableTabClose')) &&
|
|
75
|
+
this.open) {
|
|
76
|
+
this.setupVisibilityManager();
|
|
77
|
+
}
|
|
78
|
+
if (changedProperties.has('position') &&
|
|
79
|
+
this.open &&
|
|
80
|
+
this.positionManager) {
|
|
81
|
+
this.positionManager.updatePosition(this.position);
|
|
82
|
+
}
|
|
83
|
+
if (changedProperties.has('open') && this.open && this.panelContainer) {
|
|
84
|
+
this.updatePanelContent();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
setupPanel() {
|
|
88
|
+
if (this.panelContainer) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const componentStyles = this.constructor
|
|
92
|
+
.styles;
|
|
93
|
+
if (componentStyles) {
|
|
94
|
+
this.styleManager.injectStyles(componentStyles);
|
|
95
|
+
}
|
|
96
|
+
this.panelContainer = document.createElement('div');
|
|
97
|
+
this.panelContainer.setAttribute('part', 'panel');
|
|
98
|
+
this.panelContainer.className = 'nile-floating-panel__container';
|
|
99
|
+
this.updatePanelContent();
|
|
100
|
+
const anchorElement = AnchorManager.resolveAnchor(this.anchor);
|
|
101
|
+
AnchorManager.appendToAnchor(anchorElement, this.panelContainer);
|
|
102
|
+
requestAnimationFrame(() => {
|
|
103
|
+
this.setupPositionManager();
|
|
104
|
+
this.setupEventHandlers();
|
|
105
|
+
this.setupVisibilityManager();
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
setupEventHandlers() {
|
|
109
|
+
if (!this.panelContainer) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
this.eventManager.setupOutsideClickHandler(this.panelContainer, this.closeOnOutsideClick, this.open, () => {
|
|
113
|
+
this.open = false;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
setupPositionManager() {
|
|
117
|
+
if (!this.panelContainer) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const referenceElement = this.findTriggerElement() || this;
|
|
121
|
+
this.positionManager = new PositionManager(referenceElement, this.panelContainer, this.position);
|
|
122
|
+
this.positionManager.reposition();
|
|
123
|
+
this.positionManager.setupAutoUpdate();
|
|
124
|
+
}
|
|
125
|
+
findTriggerElement() {
|
|
126
|
+
// Try to find the next sibling element as the trigger
|
|
127
|
+
let nextSibling = this.nextElementSibling;
|
|
128
|
+
while (nextSibling) {
|
|
129
|
+
if (nextSibling instanceof HTMLElement) {
|
|
130
|
+
return nextSibling;
|
|
131
|
+
}
|
|
132
|
+
nextSibling = nextSibling.nextElementSibling;
|
|
133
|
+
}
|
|
134
|
+
// Try to find the previous sibling element
|
|
135
|
+
let previousSibling = this.previousElementSibling;
|
|
136
|
+
while (previousSibling) {
|
|
137
|
+
if (previousSibling instanceof HTMLElement) {
|
|
138
|
+
return previousSibling;
|
|
139
|
+
}
|
|
140
|
+
previousSibling = previousSibling.previousElementSibling;
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
setupVisibilityManager() {
|
|
145
|
+
if (!this.enableVisibilityEffect) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const triggerElement = this.findTriggerElement();
|
|
149
|
+
// Cleanup existing visibility manager if it exists
|
|
150
|
+
if (this.visibilityManager) {
|
|
151
|
+
this.visibilityManager.cleanup();
|
|
152
|
+
}
|
|
153
|
+
this.visibilityManager = new VisibilityManager({
|
|
154
|
+
host: this,
|
|
155
|
+
target: triggerElement || null,
|
|
156
|
+
enableVisibilityEffect: this.enableVisibilityEffect,
|
|
157
|
+
enableTabClose: this.enableTabClose,
|
|
158
|
+
isOpen: () => this.open,
|
|
159
|
+
onAnchorOutOfView: () => {
|
|
160
|
+
this.open = false;
|
|
161
|
+
this.emit('nile-visibility-change', {
|
|
162
|
+
visible: false,
|
|
163
|
+
reason: 'anchor-out-of-view',
|
|
164
|
+
});
|
|
165
|
+
},
|
|
166
|
+
onDocumentHidden: () => {
|
|
167
|
+
this.open = false;
|
|
168
|
+
this.emit('nile-visibility-change', {
|
|
169
|
+
visible: false,
|
|
170
|
+
reason: 'document-hidden',
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
emit: (event, detail) => this.emit(`nile-${event}`, detail),
|
|
174
|
+
});
|
|
175
|
+
if (this.open) {
|
|
176
|
+
this.visibilityManager.setup();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
updatePanelContent() {
|
|
180
|
+
if (!this.panelContainer) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const slot = this.shadowRoot?.querySelector('slot') || null;
|
|
184
|
+
ContentManager.updatePanelContent(this.panelContainer, slot, '');
|
|
185
|
+
}
|
|
186
|
+
reposition() {
|
|
187
|
+
if (this.positionManager) {
|
|
188
|
+
this.positionManager.reposition();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
cleanupPanel() {
|
|
192
|
+
this.eventManager.destroy();
|
|
193
|
+
if (this.positionManager) {
|
|
194
|
+
this.positionManager.destroy();
|
|
195
|
+
this.positionManager = null;
|
|
196
|
+
}
|
|
197
|
+
if (this.panelContainer) {
|
|
198
|
+
AnchorManager.removeFromAnchor(this.panelContainer);
|
|
199
|
+
}
|
|
200
|
+
this.panelContainer = null;
|
|
201
|
+
this.styleManager.cleanupStyles();
|
|
202
|
+
}
|
|
203
|
+
render() {
|
|
204
|
+
return html ` <slot @slotchange=${this.handleSlotChange}></slot> `;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
__decorate([
|
|
208
|
+
property()
|
|
209
|
+
], NileFloatingPanel.prototype, "anchor", void 0);
|
|
210
|
+
__decorate([
|
|
211
|
+
property()
|
|
212
|
+
], NileFloatingPanel.prototype, "position", void 0);
|
|
213
|
+
__decorate([
|
|
214
|
+
property({ type: Boolean, reflect: true, attribute: true })
|
|
215
|
+
], NileFloatingPanel.prototype, "open", void 0);
|
|
216
|
+
__decorate([
|
|
217
|
+
property({
|
|
218
|
+
type: Boolean,
|
|
219
|
+
reflect: true,
|
|
220
|
+
attribute: 'close-on-outside-click',
|
|
221
|
+
converter: {
|
|
222
|
+
fromAttribute: (value) => (!value || value === 'false' ? false : true),
|
|
223
|
+
toAttribute: (value) => (value ? 'true' : 'false'),
|
|
224
|
+
},
|
|
225
|
+
})
|
|
226
|
+
], NileFloatingPanel.prototype, "closeOnOutsideClick", void 0);
|
|
227
|
+
__decorate([
|
|
228
|
+
property({ type: Boolean, reflect: true })
|
|
229
|
+
], NileFloatingPanel.prototype, "enableVisibilityEffect", void 0);
|
|
230
|
+
__decorate([
|
|
231
|
+
property({ type: Boolean, reflect: true })
|
|
232
|
+
], NileFloatingPanel.prototype, "enableTabClose", void 0);
|
|
233
|
+
NileFloatingPanel = NileFloatingPanel_1 = __decorate([
|
|
234
|
+
customElement('nile-floating-panel')
|
|
235
|
+
], NileFloatingPanel);
|
|
236
|
+
export { NileFloatingPanel };
|
|
237
|
+
export default NileFloatingPanel;
|
|
238
|
+
//# sourceMappingURL=nile-floating-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-floating-panel.js","sourceRoot":"","sources":["../../../src/nile-floating-panel/nile-floating-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-floating-panel.css';\nimport NileElement from '../internal/nile-element';\nimport { PositionManager } from './position-manager';\nimport { StyleManager } from './style-manager';\nimport { ContentManager } from './content-manager';\nimport { AnchorManager } from './anchor-manager';\nimport { EventManager } from './event-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager';\nimport type { FloatingPanelPosition, FloatingPanelAnchor } from './types';\n\n/**\n * Nile floating panel component.\n *\n * @tag nile-floating-panel\n * @event nile-show - Emitted when the panel opens.\n * @event nile-hide - Emitted when the panel closes.\n */\n@customElement('nile-floating-panel')\nexport class NileFloatingPanel extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property() anchor: FloatingPanelAnchor = null;\n\n @property() position: FloatingPanelPosition = 'bottom';\n\n @property({ type: Boolean, reflect: true, attribute: true }) open = false;\n\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'close-on-outside-click',\n converter: {\n fromAttribute: (value: string | null) => (!value || value === 'false' ? false : true),\n toAttribute: (value: boolean) => (value ? 'true' : 'false'),\n },\n })\n closeOnOutsideClick = true;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = true;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n private panelContainer: HTMLElement | null = null;\n private positionManager: PositionManager | null = null;\n private styleManager: StyleManager = new StyleManager();\n private eventManager: EventManager = new EventManager(this);\n private visibilityManager?: VisibilityManager;\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.cleanupPanel();\n this.visibilityManager?.cleanup();\n }\n\n updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n\n if (changedProperties.has('open')) {\n if (this.open) {\n this.emit('nile-show');\n this.setupPanel();\n this.visibilityManager?.setup();\n } else {\n this.emit('nile-hide');\n this.visibilityManager?.cleanup();\n this.cleanupPanel();\n }\n }\n\n if (\n changedProperties.has('closeOnOutsideClick') &&\n this.open &&\n this.panelContainer\n ) {\n this.eventManager.updateOutsideClickHandler(\n this.panelContainer,\n this.closeOnOutsideClick,\n this.open\n );\n }\n\n if (changedProperties.has('anchor') && this.open) {\n this.cleanupPanel();\n this.setupPanel();\n }\n\n if (\n (changedProperties.has('enableVisibilityEffect') ||\n changedProperties.has('enableTabClose')) &&\n this.open\n ) {\n this.setupVisibilityManager();\n }\n\n if (\n changedProperties.has('position') &&\n this.open &&\n this.positionManager\n ) {\n this.positionManager.updatePosition(this.position);\n }\n\n if (changedProperties.has('open') && this.open && this.panelContainer) {\n this.updatePanelContent();\n }\n }\n\n private setupPanel() {\n if (this.panelContainer) {\n return;\n }\n\n const componentStyles = (this.constructor as typeof NileFloatingPanel)\n .styles;\n if (componentStyles) {\n this.styleManager.injectStyles(componentStyles);\n }\n\n this.panelContainer = document.createElement('div');\n this.panelContainer.setAttribute('part', 'panel');\n this.panelContainer.className = 'nile-floating-panel__container';\n\n this.updatePanelContent();\n\n const anchorElement = AnchorManager.resolveAnchor(this.anchor);\n AnchorManager.appendToAnchor(anchorElement, this.panelContainer);\n\n requestAnimationFrame(() => {\n this.setupPositionManager();\n this.setupEventHandlers();\n this.setupVisibilityManager();\n });\n }\n\n private setupEventHandlers() {\n if (!this.panelContainer) {\n return;\n }\n\n this.eventManager.setupOutsideClickHandler(\n this.panelContainer,\n this.closeOnOutsideClick,\n this.open,\n () => {\n this.open = false;\n }\n );\n }\n\n private setupPositionManager() {\n if (!this.panelContainer) {\n return;\n }\n\n const referenceElement = this.findTriggerElement() || this;\n this.positionManager = new PositionManager(\n referenceElement,\n this.panelContainer,\n this.position\n );\n\n this.positionManager.reposition();\n this.positionManager.setupAutoUpdate();\n }\n\n private findTriggerElement(): HTMLElement | null {\n // Try to find the next sibling element as the trigger\n let nextSibling = this.nextElementSibling;\n while (nextSibling) {\n if (nextSibling instanceof HTMLElement) {\n return nextSibling;\n }\n nextSibling = nextSibling.nextElementSibling;\n }\n\n // Try to find the previous sibling element\n let previousSibling = this.previousElementSibling;\n while (previousSibling) {\n if (previousSibling instanceof HTMLElement) {\n return previousSibling;\n }\n previousSibling = previousSibling.previousElementSibling;\n }\n\n return null;\n }\n\n private setupVisibilityManager(): void {\n if (!this.enableVisibilityEffect) {\n return;\n }\n\n const triggerElement = this.findTriggerElement();\n \n // Cleanup existing visibility manager if it exists\n if (this.visibilityManager) {\n this.visibilityManager.cleanup();\n }\n\n this.visibilityManager = new VisibilityManager({\n host: this,\n target: triggerElement || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.open = false;\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.open = false;\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n\n if (this.open) {\n this.visibilityManager.setup();\n }\n }\n\n private updatePanelContent() {\n if (!this.panelContainer) {\n return;\n }\n\n const slot = this.shadowRoot?.querySelector('slot') || null;\n ContentManager.updatePanelContent(this.panelContainer, slot, '');\n }\n\n private reposition() {\n if (this.positionManager) {\n this.positionManager.reposition();\n }\n }\n\n private cleanupPanel() {\n this.eventManager.destroy();\n\n if (this.positionManager) {\n this.positionManager.destroy();\n this.positionManager = null;\n }\n\n if (this.panelContainer) {\n AnchorManager.removeFromAnchor(this.panelContainer);\n }\n\n this.panelContainer = null;\n\n this.styleManager.cleanupStyles();\n }\n\n public render(): TemplateResult {\n return html` <slot @slotchange=${this.handleSlotChange}></slot> `;\n }\n\n private handleSlotChange = () => {\n if (this.open && this.panelContainer) {\n this.updatePanelContent();\n }\n };\n}\n\nexport default NileFloatingPanel;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-floating-panel': NileFloatingPanel;\n }\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FloatingPanelPosition } from './types';
|
|
2
|
+
export declare class PositionManager {
|
|
3
|
+
private cleanup;
|
|
4
|
+
private referenceElement;
|
|
5
|
+
private floatingElement;
|
|
6
|
+
private position;
|
|
7
|
+
private offsetValue;
|
|
8
|
+
private shiftPadding;
|
|
9
|
+
constructor(referenceElement: HTMLElement, floatingElement: HTMLElement, position: FloatingPanelPosition, offsetValue?: number, shiftPadding?: number);
|
|
10
|
+
setupAutoUpdate(): void;
|
|
11
|
+
cleanupAutoUpdate(): void;
|
|
12
|
+
reposition(): void;
|
|
13
|
+
updatePosition(position: FloatingPanelPosition): void;
|
|
14
|
+
updateOffset(offset: number): void;
|
|
15
|
+
updateShiftPadding(padding: number): void;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { autoUpdate, computePosition, offset, shift, flip } from '@floating-ui/dom';
|
|
2
|
+
export class PositionManager {
|
|
3
|
+
constructor(referenceElement, floatingElement, position, offsetValue = 8, shiftPadding = 8) {
|
|
4
|
+
this.cleanup = null;
|
|
5
|
+
this.referenceElement = referenceElement;
|
|
6
|
+
this.floatingElement = floatingElement;
|
|
7
|
+
this.position = position;
|
|
8
|
+
this.offsetValue = offsetValue;
|
|
9
|
+
this.shiftPadding = shiftPadding;
|
|
10
|
+
}
|
|
11
|
+
setupAutoUpdate() {
|
|
12
|
+
this.cleanupAutoUpdate();
|
|
13
|
+
this.cleanup = autoUpdate(this.referenceElement, this.floatingElement, () => {
|
|
14
|
+
this.reposition();
|
|
15
|
+
}, {
|
|
16
|
+
ancestorScroll: true,
|
|
17
|
+
ancestorResize: true,
|
|
18
|
+
elementResize: true,
|
|
19
|
+
layoutShift: true,
|
|
20
|
+
animationFrame: false,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
cleanupAutoUpdate() {
|
|
24
|
+
if (this.cleanup) {
|
|
25
|
+
this.cleanup();
|
|
26
|
+
this.cleanup = null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
reposition() {
|
|
30
|
+
const placement = this.position;
|
|
31
|
+
computePosition(this.referenceElement, this.floatingElement, {
|
|
32
|
+
placement,
|
|
33
|
+
strategy: 'fixed',
|
|
34
|
+
middleware: [
|
|
35
|
+
offset(this.offsetValue),
|
|
36
|
+
flip(),
|
|
37
|
+
shift({
|
|
38
|
+
padding: this.shiftPadding,
|
|
39
|
+
}),
|
|
40
|
+
],
|
|
41
|
+
}).then(({ x, y, placement: finalPlacement }) => {
|
|
42
|
+
let adjustedY = y;
|
|
43
|
+
if (finalPlacement.startsWith('bottom')) {
|
|
44
|
+
adjustedY = y + 10;
|
|
45
|
+
}
|
|
46
|
+
else if (finalPlacement.startsWith('top')) {
|
|
47
|
+
adjustedY = y - 20;
|
|
48
|
+
}
|
|
49
|
+
Object.assign(this.floatingElement.style, {
|
|
50
|
+
left: `${x}px`,
|
|
51
|
+
top: `${adjustedY}px`,
|
|
52
|
+
position: 'fixed',
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
updatePosition(position) {
|
|
57
|
+
this.position = position;
|
|
58
|
+
this.reposition();
|
|
59
|
+
}
|
|
60
|
+
updateOffset(offset) {
|
|
61
|
+
this.offsetValue = offset;
|
|
62
|
+
this.reposition();
|
|
63
|
+
}
|
|
64
|
+
updateShiftPadding(padding) {
|
|
65
|
+
this.shiftPadding = padding;
|
|
66
|
+
this.reposition();
|
|
67
|
+
}
|
|
68
|
+
destroy() {
|
|
69
|
+
this.cleanupAutoUpdate();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=position-manager.js.map
|