@aquera/nile-elements 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +9 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +1103 -629
  5. package/dist/internal/enum.cjs.js +1 -1
  6. package/dist/internal/enum.cjs.js.map +1 -1
  7. package/dist/internal/enum.esm.js +1 -1
  8. package/dist/nile-badge/index.cjs.js +1 -1
  9. package/dist/nile-badge/index.esm.js +1 -1
  10. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  11. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  12. package/dist/nile-badge/nile-badge.esm.js +1 -1
  13. package/dist/nile-button/index.cjs.js +1 -1
  14. package/dist/nile-button/index.esm.js +1 -1
  15. package/dist/nile-button/nile-button.cjs.js +1 -1
  16. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  17. package/dist/nile-button/nile-button.esm.js +1 -1
  18. package/dist/nile-carousel/index.cjs.js +1 -1
  19. package/dist/nile-carousel/index.esm.js +1 -1
  20. package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
  21. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
  22. package/dist/nile-carousel/nile-carousel.esm.js +1 -1
  23. package/dist/nile-dialog/index.cjs.js +1 -1
  24. package/dist/nile-dialog/index.esm.js +1 -1
  25. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  26. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  27. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  28. package/dist/nile-drawer/index.cjs.js +1 -1
  29. package/dist/nile-drawer/index.esm.js +1 -1
  30. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  31. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  32. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  33. package/dist/nile-floating-panel/index.cjs.js +1 -1
  34. package/dist/nile-floating-panel/index.esm.js +1 -1
  35. package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
  36. package/dist/nile-floating-panel/nile-floating-panel.cjs.js.map +1 -1
  37. package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js +1 -1
  38. package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js.map +1 -1
  39. package/dist/nile-floating-panel/nile-floating-panel.css.esm.js +137 -21
  40. package/dist/nile-floating-panel/nile-floating-panel.esm.js +1 -1
  41. package/dist/nile-icon/icons/svg/folder_delete.cjs.js +2 -0
  42. package/dist/nile-icon/icons/svg/folder_delete.cjs.js.map +1 -0
  43. package/dist/nile-icon/icons/svg/folder_delete.esm.js +1 -0
  44. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  45. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  46. package/dist/nile-icon/icons/svg/layers-three-02.cjs.js +1 -1
  47. package/dist/nile-icon/icons/svg/layers-three-02.cjs.js.map +1 -1
  48. package/dist/nile-icon/icons/svg/layers-three-02.esm.js +1 -1
  49. package/dist/nile-icon/index.cjs.js +1 -1
  50. package/dist/nile-icon/index.cjs.js.map +1 -1
  51. package/dist/nile-icon/index.esm.js +1 -1
  52. package/dist/nile-icon-button/index.cjs.js +1 -1
  53. package/dist/nile-icon-button/index.esm.js +1 -1
  54. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  55. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  56. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  57. package/dist/nile-input/index.cjs.js +1 -1
  58. package/dist/nile-input/index.esm.js +1 -1
  59. package/dist/nile-input/nile-input.cjs.js +1 -1
  60. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  61. package/dist/nile-input/nile-input.esm.js +1 -1
  62. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  63. package/dist/nile-lite-tooltip/index.esm.js +1 -1
  64. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  65. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
  66. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
  67. package/dist/nile-menu-item/index.cjs.js +1 -1
  68. package/dist/nile-menu-item/index.esm.js +1 -1
  69. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  70. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  71. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  72. package/dist/nile-option/index.cjs.js +1 -1
  73. package/dist/nile-option/index.esm.js +1 -1
  74. package/dist/nile-option/nile-option.cjs.js +1 -1
  75. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  76. package/dist/nile-option/nile-option.esm.js +1 -1
  77. package/dist/nile-otp-input/index.cjs.js +2 -0
  78. package/dist/nile-otp-input/index.cjs.js.map +1 -0
  79. package/dist/nile-otp-input/index.esm.js +1 -0
  80. package/dist/nile-otp-input/nile-otp-input.cjs.js +2 -0
  81. package/dist/nile-otp-input/nile-otp-input.cjs.js.map +1 -0
  82. package/dist/nile-otp-input/nile-otp-input.css.cjs.js +2 -0
  83. package/dist/nile-otp-input/nile-otp-input.css.cjs.js.map +1 -0
  84. package/dist/nile-otp-input/nile-otp-input.css.esm.js +257 -0
  85. package/dist/nile-otp-input/nile-otp-input.enum.cjs.js +2 -0
  86. package/dist/nile-otp-input/nile-otp-input.enum.cjs.js.map +1 -0
  87. package/dist/nile-otp-input/nile-otp-input.enum.esm.js +1 -0
  88. package/dist/nile-otp-input/nile-otp-input.esm.js +103 -0
  89. package/dist/nile-select/index.cjs.js +1 -1
  90. package/dist/nile-select/index.esm.js +1 -1
  91. package/dist/nile-select/nile-select.cjs.js +1 -1
  92. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  93. package/dist/nile-select/nile-select.esm.js +1 -1
  94. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  95. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  96. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  97. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  98. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  99. package/dist/nile-tab/index.cjs.js +1 -1
  100. package/dist/nile-tab/index.esm.js +1 -1
  101. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  102. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  103. package/dist/nile-tab/nile-tab.esm.js +1 -1
  104. package/dist/nile-tab-group/index.cjs.js +1 -1
  105. package/dist/nile-tab-group/index.esm.js +1 -1
  106. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  107. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  108. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  109. package/dist/nile-tag/index.cjs.js +1 -1
  110. package/dist/nile-tag/index.esm.js +1 -1
  111. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  112. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  113. package/dist/nile-tag/nile-tag.esm.js +1 -1
  114. package/dist/nile-toast/index.cjs.js +1 -1
  115. package/dist/nile-toast/index.esm.js +1 -1
  116. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  117. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  118. package/dist/nile-toast/nile-toast.esm.js +1 -1
  119. package/dist/nile-tree/index.cjs.js +1 -1
  120. package/dist/nile-tree/index.esm.js +1 -1
  121. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  122. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  123. package/dist/nile-tree/nile-tree.esm.js +1 -1
  124. package/dist/nile-tree-item/index.cjs.js +1 -1
  125. package/dist/nile-tree-item/index.esm.js +1 -1
  126. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  127. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  128. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  129. package/dist/nile-virtual-select/index.cjs.js +1 -1
  130. package/dist/nile-virtual-select/index.esm.js +1 -1
  131. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  132. package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
  133. package/dist/src/index.d.ts +2 -1
  134. package/dist/src/index.js +2 -1
  135. package/dist/src/index.js.map +1 -1
  136. package/dist/src/internal/enum.d.ts +21 -0
  137. package/dist/src/internal/enum.js +23 -1
  138. package/dist/src/internal/enum.js.map +1 -1
  139. package/dist/src/nile-floating-panel/index.js.map +1 -1
  140. package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +1 -1
  141. package/dist/src/nile-floating-panel/nile-floating-panel.css.js +147 -20
  142. package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -1
  143. package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +92 -24
  144. package/dist/src/nile-floating-panel/nile-floating-panel.js +489 -159
  145. package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -1
  146. package/dist/src/nile-icon/icons/svg/folder_delete.d.ts +5 -0
  147. package/dist/src/nile-icon/icons/svg/folder_delete.js +5 -0
  148. package/dist/src/nile-icon/icons/svg/folder_delete.js.map +1 -0
  149. package/dist/src/nile-icon/icons/svg/index.d.ts +1 -0
  150. package/dist/src/nile-icon/icons/svg/index.js +1 -0
  151. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  152. package/dist/src/nile-icon/icons/svg/layers-three-02.d.ts +1 -1
  153. package/dist/src/nile-icon/icons/svg/layers-three-02.js +1 -1
  154. package/dist/src/nile-icon/icons/svg/layers-three-02.js.map +1 -1
  155. package/dist/src/nile-otp-input/index.d.ts +1 -0
  156. package/dist/src/nile-otp-input/index.js +2 -0
  157. package/dist/src/nile-otp-input/index.js.map +1 -0
  158. package/dist/src/nile-otp-input/nile-otp-input.css.d.ts +12 -0
  159. package/dist/src/nile-otp-input/nile-otp-input.css.js +269 -0
  160. package/dist/src/nile-otp-input/nile-otp-input.css.js.map +1 -0
  161. package/dist/src/nile-otp-input/nile-otp-input.d.ts +156 -0
  162. package/dist/src/nile-otp-input/nile-otp-input.enum.d.ts +26 -0
  163. package/dist/src/nile-otp-input/nile-otp-input.enum.js +32 -0
  164. package/dist/src/nile-otp-input/nile-otp-input.enum.js.map +1 -0
  165. package/dist/src/nile-otp-input/nile-otp-input.js +762 -0
  166. package/dist/src/nile-otp-input/nile-otp-input.js.map +1 -0
  167. package/dist/src/nile-otp-input/nile-otp-input.test.d.ts +1 -0
  168. package/dist/src/nile-otp-input/nile-otp-input.test.js +493 -0
  169. package/dist/src/nile-otp-input/nile-otp-input.test.js.map +1 -0
  170. package/dist/src/version.js +2 -2
  171. package/dist/src/version.js.map +1 -1
  172. package/dist/tippy.esm-57628c2b.esm.js +1 -0
  173. package/dist/tippy.esm-78baa8f2.cjs.js +2 -0
  174. package/dist/tippy.esm-78baa8f2.cjs.js.map +1 -0
  175. package/dist/tsconfig.tsbuildinfo +1 -1
  176. package/package.json +5 -3
  177. package/plop-templates/lit/index.ts.hbs +1 -1
  178. package/plop-templates/lit/lit.css.ts.hbs +1 -1
  179. package/plop-templates/lit/lit.ts.hbs +1 -1
  180. package/src/index.ts +3 -2
  181. package/src/internal/enum.ts +23 -1
  182. package/src/nile-floating-panel/index.ts +0 -1
  183. package/src/nile-floating-panel/nile-floating-panel.css.ts +149 -21
  184. package/src/nile-floating-panel/nile-floating-panel.ts +498 -190
  185. package/src/nile-icon/icons/svg/folder_delete.ts +5 -0
  186. package/src/nile-icon/icons/svg/index.ts +1 -0
  187. package/src/nile-icon/icons/svg/layers-three-02.ts +1 -1
  188. package/src/nile-otp-input/index.ts +1 -0
  189. package/src/nile-otp-input/nile-otp-input.css.ts +271 -0
  190. package/src/nile-otp-input/nile-otp-input.enum.ts +30 -0
  191. package/src/nile-otp-input/nile-otp-input.test.ts +732 -0
  192. package/src/nile-otp-input/nile-otp-input.ts +835 -0
  193. package/vscode-html-custom-data.json +383 -23
  194. package/dist/nile-floating-panel/anchor-manager.cjs.js +0 -2
  195. package/dist/nile-floating-panel/anchor-manager.cjs.js.map +0 -1
  196. package/dist/nile-floating-panel/anchor-manager.esm.js +0 -1
  197. package/dist/nile-floating-panel/content-manager.cjs.js +0 -2
  198. package/dist/nile-floating-panel/content-manager.cjs.js.map +0 -1
  199. package/dist/nile-floating-panel/content-manager.esm.js +0 -1
  200. package/dist/nile-floating-panel/event-manager.cjs.js +0 -2
  201. package/dist/nile-floating-panel/event-manager.cjs.js.map +0 -1
  202. package/dist/nile-floating-panel/event-manager.esm.js +0 -1
  203. package/dist/nile-floating-panel/position-manager.cjs.js +0 -2
  204. package/dist/nile-floating-panel/position-manager.cjs.js.map +0 -1
  205. package/dist/nile-floating-panel/position-manager.esm.js +0 -1
  206. package/dist/nile-floating-panel/style-manager.cjs.js +0 -2
  207. package/dist/nile-floating-panel/style-manager.cjs.js.map +0 -1
  208. package/dist/nile-floating-panel/style-manager.esm.js +0 -1
  209. package/dist/nile-floating-panel/types.cjs.js +0 -2
  210. package/dist/nile-floating-panel/types.cjs.js.map +0 -1
  211. package/dist/nile-floating-panel/types.esm.js +0 -1
  212. package/dist/src/nile-floating-panel/anchor-manager.d.ts +0 -6
  213. package/dist/src/nile-floating-panel/anchor-manager.js +0 -27
  214. package/dist/src/nile-floating-panel/anchor-manager.js.map +0 -1
  215. package/dist/src/nile-floating-panel/content-manager.d.ts +0 -5
  216. package/dist/src/nile-floating-panel/content-manager.js +0 -44
  217. package/dist/src/nile-floating-panel/content-manager.js.map +0 -1
  218. package/dist/src/nile-floating-panel/event-manager.d.ts +0 -14
  219. package/dist/src/nile-floating-panel/event-manager.js +0 -52
  220. package/dist/src/nile-floating-panel/event-manager.js.map +0 -1
  221. package/dist/src/nile-floating-panel/position-manager.d.ts +0 -17
  222. package/dist/src/nile-floating-panel/position-manager.js +0 -72
  223. package/dist/src/nile-floating-panel/position-manager.js.map +0 -1
  224. package/dist/src/nile-floating-panel/style-manager.d.ts +0 -9
  225. package/dist/src/nile-floating-panel/style-manager.js +0 -44
  226. package/dist/src/nile-floating-panel/style-manager.js.map +0 -1
  227. package/dist/src/nile-floating-panel/types.d.ts +0 -11
  228. package/dist/src/nile-floating-panel/types.js +0 -2
  229. package/dist/src/nile-floating-panel/types.js.map +0 -1
  230. package/src/nile-floating-panel/anchor-manager.ts +0 -33
  231. package/src/nile-floating-panel/content-manager.ts +0 -54
  232. package/src/nile-floating-panel/event-manager.ts +0 -74
  233. package/src/nile-floating-panel/position-manager.ts +0 -102
  234. package/src/nile-floating-panel/style-manager.ts +0 -54
  235. package/src/nile-floating-panel/types.ts +0 -15
@@ -1 +0,0 @@
1
- import{b as t,c as s,o as i,f as e,a as h}from"../floating-ui.dom-cc9126da.esm.js";class a{constructor(t,s,i,e=8,h=8){this.cleanup=null,this.referenceElement=t,this.floatingElement=s,this.position=i,this.offsetValue=e,this.shiftPadding=h}setupAutoUpdate(){this.cleanupAutoUpdate(),this.cleanup=t(this.referenceElement,this.floatingElement,(()=>{this.reposition()}),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,animationFrame:!1})}cleanupAutoUpdate(){this.cleanup&&(this.cleanup(),this.cleanup=null)}reposition(){const t=this.position;s(this.referenceElement,this.floatingElement,{placement:t,strategy:"fixed",middleware:[i(this.offsetValue),e(),h({padding:this.shiftPadding})]}).then((({x:t,y:s,placement:i})=>{let e=s;i.startsWith("bottom")?e=s+10:i.startsWith("top")&&(e=s-20),Object.assign(this.floatingElement.style,{left:`${t}px`,top:`${e}px`,position:"fixed"})}))}updatePosition(t){this.position=t,this.reposition()}updateOffset(t){this.offsetValue=t,this.reposition()}updateShiftPadding(t){this.shiftPadding=t,this.reposition()}destroy(){this.cleanupAutoUpdate()}}export{a as P};
@@ -1,2 +0,0 @@
1
- System.register(["./nile-floating-panel.css.cjs.js","lit"],function(_export,_context){"use strict";var t,e;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}return{setters:[function(_nileFloatingPanelCssCjsJs){t=_nileFloatingPanelCssCjsJs.p;},function(_lit){}],execute:function execute(){_export("S",e=/*#__PURE__*/function(){function e(){_classCallCheck(this,e);this.injectedStyleId=null;}return _createClass(e,[{key:"injectStyles",value:function injectStyles(t){var s="nile-floating-panel-styles-global";if(e.injectedStyleIds.has(s))return;if(this.injectedStyleId&&document.getElementById(this.injectedStyleId))return;this.injectedStyleId=s,e.injectedStyleIds.add(s);var n=this.extractCSSFromStyles(t),l=document.createElement("style");l.id=s,l.textContent=n,document.head.appendChild(l);}},{key:"extractCSSFromStyles",value:function extractCSSFromStyles(_e){return(t.cssText||"")+"\n"+_e.map(function(t){return"string"==typeof t?t:t&&"cssText"in t?t.cssText:"";}).join("\n");}},{key:"cleanupStyles",value:function cleanupStyles(){}},{key:"getInjectedStyleId",value:function getInjectedStyleId(){return this.injectedStyleId;}}]);}());e.injectedStyleIds=new Set();}};});
2
- //# sourceMappingURL=style-manager.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style-manager.cjs.js","sources":["../../../src/nile-floating-panel/style-manager.ts"],"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"],"names":["StyleManager","e","this","injectedStyleId","_createClass","key","value","injectStyles","componentStyles","globalStyleId","injectedStyleIds","has","document","getElementById","add","cssText","extractCSSFromStyles","styleElement","createElement","id","textContent","head","appendChild","styles","panelContainerStyles","map","style","join","cleanupStyles","getInjectedStyleId","Set"],"mappings":"60CAGaA,CAAAA,yBAAb,SAAAC,EAAA,CACUC,CAAAA,eAAAA,MAAAA,CAAAA,EAAAA,IAAAA,CAAeC,gBAAkB,IAgD1C,EA7CC,OAAAC,YAAA,CAAAH,CAAA,GAAAI,GAAA,gBAAAC,KAAA,UAAAC,YAAAA,CAAaC,CAAAA,CAAAA,CACX,GAAMC,CAAAA,CAAgB,CAAA,mCAAA,CACtB,GAAIT,CAAaU,CAAAA,gBAAAA,CAAiBC,IAAIF,CACpC,CAAA,CAAA,OAGF,GAAIP,IAAKC,CAAAA,eAAAA,EAAmBS,SAASC,cAAeX,CAAAA,IAAAA,CAAKC,iBACvD,OAGFD,IAAAA,CAAKC,gBAAkBM,CACvBT,CAAAA,CAAAA,CAAaU,iBAAiBI,GAAIL,CAAAA,CAAAA,CAAAA,CAElC,GAAMM,CAAAA,CAAUb,CAAAA,IAAAA,CAAKc,qBAAqBR,CAEpCS,CAAAA,CAAAA,CAAAA,CAAeL,SAASM,aAAc,CAAA,OAAA,CAAA,CAC5CD,EAAaE,EAAKV,CAAAA,CAAAA,CAClBQ,EAAaG,WAAcL,CAAAA,CAAAA,CAC3BH,SAASS,IAAKC,CAAAA,WAAAA,CAAYL,EAC3B,EAEO,GAAAZ,GAAA,wBAAAC,KAAA,UAAAU,oBAAAA,CAAqBO,EAe3B,CAAA,CAAA,MAAA,CAdwBC,EAAqBT,OAAW,EAAA,EAAA,EAc/B,KAZDQ,EACrBE,CAAAA,GAAAA,CAAIC,SAAAA,SACkB,QAAVA,EAAAA,MAAAA,CAAAA,CAAAA,CACFA,EAELA,CAAS,EAAA,SAAA,EAAaA,CAAAA,EAChBA,CAAcX,CAAAA,OAAAA,CAEjB,MAERY,IAAK,CAAA,IAAA,CAGT,EAED,GAAAtB,GAAA,iBAAAC,KAAA,UAAAsB,aAAAA,CAAAA,CAAAA,CACC,CAED,GAAAvB,GAAA,sBAAAC,KAAA,UAAAuB,kBAAAA,CAAAA,CAAAA,CACE,MAAO3B,KAAKC,CAAAA,eACb,WA9CcH,CAAAU,CAAAA,gBAAAA,CAAgC,GAAIoB,CAAAA"}
@@ -1 +0,0 @@
1
- import{p as t}from"./nile-floating-panel.css.esm.js";import"lit";class e{constructor(){this.injectedStyleId=null}injectStyles(t){const s="nile-floating-panel-styles-global";if(e.injectedStyleIds.has(s))return;if(this.injectedStyleId&&document.getElementById(this.injectedStyleId))return;this.injectedStyleId=s,e.injectedStyleIds.add(s);const n=this.extractCSSFromStyles(t),l=document.createElement("style");l.id=s,l.textContent=n,document.head.appendChild(l)}extractCSSFromStyles(e){return(t.cssText||"")+"\n"+e.map((t=>"string"==typeof t?t:t&&"cssText"in t?t.cssText:"")).join("\n")}cleanupStyles(){}getInjectedStyleId(){return this.injectedStyleId}}e.injectedStyleIds=new Set;export{e as S};
@@ -1,2 +0,0 @@
1
- System.register([],function(_export,_context){"use strict";return{setters:[],execute:function execute(){}};});
2
- //# sourceMappingURL=types.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
-
@@ -1,6 +0,0 @@
1
- import type { FloatingPanelAnchor } from './types';
2
- export declare class AnchorManager {
3
- static resolveAnchor(anchor: FloatingPanelAnchor): HTMLElement;
4
- static appendToAnchor(anchor: HTMLElement, panelContainer: HTMLElement): void;
5
- static removeFromAnchor(panelContainer: HTMLElement): void;
6
- }
@@ -1,27 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,5 +0,0 @@
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
- }
@@ -1,44 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,14 +0,0 @@
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
- }
@@ -1,52 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,17 +0,0 @@
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
- }
@@ -1,72 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,9 +0,0 @@
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
- }
@@ -1,44 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,11 +0,0 @@
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
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
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"]}
@@ -1,33 +0,0 @@
1
- import type { FloatingPanelAnchor } from './types';
2
-
3
- export class AnchorManager {
4
- static resolveAnchor(anchor: FloatingPanelAnchor): HTMLElement {
5
- if (anchor instanceof HTMLElement) {
6
- return anchor;
7
- }
8
-
9
- if (typeof anchor === 'string') {
10
- const element = document.querySelector(anchor) as HTMLElement;
11
- if (element) {
12
- return element;
13
- }
14
- const byId = document.getElementById(anchor);
15
- if (byId) {
16
- return byId;
17
- }
18
- }
19
-
20
- return document.body;
21
- }
22
-
23
- static appendToAnchor(anchor: HTMLElement, panelContainer: HTMLElement): void {
24
- anchor.appendChild(panelContainer);
25
- }
26
-
27
- static removeFromAnchor(panelContainer: HTMLElement): void {
28
- if (panelContainer.parentNode) {
29
- panelContainer.parentNode.removeChild(panelContainer);
30
- }
31
- }
32
- }
33
-
@@ -1,54 +0,0 @@
1
- import type { FloatingPanelContentConfig } from './types';
2
-
3
- export class ContentManager {
4
- static updatePanelContent(
5
- panelContainer: HTMLElement,
6
- slot: HTMLSlotElement | null,
7
- dataContent: string
8
- ): void {
9
- panelContainer.innerHTML = '';
10
-
11
- const slotContent = slot ? slot.assignedNodes({ flatten: true }) : [];
12
-
13
- const hasSlotContent = slotContent.length > 0 &&
14
- slotContent.some(node => {
15
- if (node.nodeType === Node.TEXT_NODE) {
16
- return node.textContent?.trim() !== '';
17
- }
18
- return node instanceof HTMLElement;
19
- });
20
-
21
- if (hasSlotContent) {
22
- slotContent.forEach(node => {
23
- if (node.nodeType === Node.TEXT_NODE) {
24
- const textNode = document.createTextNode(node.textContent || '');
25
- panelContainer.appendChild(textNode);
26
- } else if (node instanceof HTMLElement) {
27
- panelContainer.appendChild(node.cloneNode(true));
28
- }
29
- });
30
- } else if (dataContent) {
31
- panelContainer.textContent = dataContent;
32
- }
33
- }
34
-
35
- static hasSlotContent(slot: HTMLSlotElement | null): boolean {
36
- if (!slot) {
37
- return false;
38
- }
39
-
40
- const slotContent = slot.assignedNodes({ flatten: true });
41
- return slotContent.length > 0 &&
42
- slotContent.some(node => {
43
- if (node.nodeType === Node.TEXT_NODE) {
44
- return node.textContent?.trim() !== '';
45
- }
46
- return node instanceof HTMLElement;
47
- });
48
- }
49
-
50
- static getSlotContent(slot: HTMLSlotElement | null): Node[] {
51
- return slot ? slot.assignedNodes({ flatten: true }) : [];
52
- }
53
- }
54
-
@@ -1,74 +0,0 @@
1
- export class EventManager {
2
- private component: HTMLElement;
3
- private panelContainer: HTMLElement | null = null;
4
- private closeOnOutsideClick: boolean = true;
5
- private isOpen: boolean = false;
6
- private boundHandleDocumentClick: ((event: MouseEvent) => void) | null = null;
7
- private onCloseCallback: (() => void) | null = null;
8
-
9
- constructor(component: HTMLElement) {
10
- this.component = component;
11
- }
12
-
13
- setupOutsideClickHandler(
14
- panelContainer: HTMLElement,
15
- closeOnOutsideClick: boolean,
16
- isOpen: boolean,
17
- onClose: () => void
18
- ): void {
19
- this.panelContainer = panelContainer;
20
- this.closeOnOutsideClick = closeOnOutsideClick;
21
- this.isOpen = isOpen;
22
- this.onCloseCallback = onClose;
23
-
24
- if (!this.closeOnOutsideClick || this.boundHandleDocumentClick) {
25
- return;
26
- }
27
-
28
- this.boundHandleDocumentClick = this.handleDocumentClick.bind(this);
29
- document.addEventListener('mousedown', this.boundHandleDocumentClick, true);
30
- }
31
-
32
- updateOutsideClickHandler(
33
- panelContainer: HTMLElement | null,
34
- closeOnOutsideClick: boolean,
35
- isOpen: boolean
36
- ): void {
37
- this.panelContainer = panelContainer;
38
- this.closeOnOutsideClick = closeOnOutsideClick;
39
- this.isOpen = isOpen;
40
-
41
- this.cleanupOutsideClickHandler();
42
-
43
- if (isOpen && closeOnOutsideClick && panelContainer) {
44
- this.boundHandleDocumentClick = this.handleDocumentClick.bind(this);
45
- document.addEventListener('mousedown', this.boundHandleDocumentClick, true);
46
- }
47
- }
48
-
49
- cleanupOutsideClickHandler(): void {
50
- if (this.boundHandleDocumentClick) {
51
- document.removeEventListener('mousedown', this.boundHandleDocumentClick, true);
52
- this.boundHandleDocumentClick = null;
53
- }
54
- }
55
-
56
- private handleDocumentClick(event: MouseEvent): void {
57
- if (!this.isOpen || !this.closeOnOutsideClick || !this.panelContainer || !this.onCloseCallback) {
58
- return;
59
- }
60
-
61
- const target = event.target as Node;
62
-
63
- if (!this.panelContainer.contains(target) && !this.component.contains(target)) {
64
- this.onCloseCallback();
65
- }
66
- }
67
-
68
- destroy(): void {
69
- this.cleanupOutsideClickHandler();
70
- this.panelContainer = null;
71
- this.onCloseCallback = null;
72
- }
73
- }
74
-