@nanoporetech-digital/components 2.6.0 → 2.9.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.
Files changed (249) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cjs/form-control-d54a847f.js +85 -0
  3. package/dist/cjs/form-control-d54a847f.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
  6. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  8. package/dist/cjs/nano-components.cjs.js +1 -1
  9. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -3
  10. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  12. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  14. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  15. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nano-global-nav.cjs.entry.js +50 -47
  17. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nano-input.cjs.entry.js +14 -10
  19. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-nav-item_2.cjs.entry.js +16 -14
  21. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +6 -4
  23. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  25. package/dist/cjs/{popover-8c86d338.js → popover-5f152a19.js} +3 -8
  26. package/dist/cjs/{popover-8c86d338.js.map → popover-5f152a19.js.map} +1 -1
  27. package/dist/collection/components/accordion/accordion.js +1 -1
  28. package/dist/collection/components/alert/alert.js +1 -1
  29. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  30. package/dist/collection/components/algolia/algolia-input.js +5 -5
  31. package/dist/collection/components/algolia/algolia-results.js +1 -1
  32. package/dist/collection/components/algolia/algolia.js +6 -6
  33. package/dist/collection/components/checkbox/checkbox-group.css +4 -1
  34. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  35. package/dist/collection/components/checkbox/checkbox.css +2 -2
  36. package/dist/collection/components/checkbox/checkbox.js +3 -3
  37. package/dist/collection/components/datalist/datalist.js +4 -2
  38. package/dist/collection/components/datalist/datalist.js.map +1 -1
  39. package/dist/collection/components/date-input/date-input.css +1 -0
  40. package/dist/collection/components/date-input/date-input.js +7 -7
  41. package/dist/collection/components/date-picker/date-picker.js +5 -5
  42. package/dist/collection/components/details/details.js +1 -1
  43. package/dist/collection/components/dialog/dialog.js +1 -1
  44. package/dist/collection/components/dropdown/dropdown.js +1 -1
  45. package/dist/collection/components/file-upload/file-upload.css +2 -2
  46. package/dist/collection/components/file-upload/file-upload.js +4 -4
  47. package/dist/collection/components/form-control/form-control.js +37 -32
  48. package/dist/collection/components/form-control/form-control.js.map +1 -1
  49. package/dist/collection/components/global-nav/global-nav.js +78 -50
  50. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  51. package/dist/collection/components/grid/grid-item.js +1 -1
  52. package/dist/collection/components/icon/icon.js +1 -1
  53. package/dist/collection/components/input/input.css +251 -258
  54. package/dist/collection/components/input/input.js +21 -14
  55. package/dist/collection/components/input/input.js.map +1 -1
  56. package/dist/collection/components/menu/menu.js +1 -2
  57. package/dist/collection/components/menu/menu.js.map +1 -1
  58. package/dist/collection/components/nav-item/nav-item.js +4 -4
  59. package/dist/collection/components/range/range.js +4 -4
  60. package/dist/collection/components/resize-observe/resize-observe.js +7 -6
  61. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  62. package/dist/collection/components/select/select.css +277 -274
  63. package/dist/collection/components/select/select.js +25 -21
  64. package/dist/collection/components/select/select.js.map +1 -1
  65. package/dist/collection/components/slides/slides.js +7 -7
  66. package/dist/collection/components/tabs/tab-group.js +2 -2
  67. package/dist/collection/utils/popover.js +2 -7
  68. package/dist/collection/utils/popover.js.map +1 -1
  69. package/dist/components/datalist.js +3 -1
  70. package/dist/components/datalist.js.map +1 -1
  71. package/dist/components/form-control.js +37 -32
  72. package/dist/components/form-control.js.map +1 -1
  73. package/dist/components/input.js +15 -10
  74. package/dist/components/input.js.map +1 -1
  75. package/dist/components/menu.js +1 -2
  76. package/dist/components/menu.js.map +1 -1
  77. package/dist/components/nano-checkbox-group.js +1 -1
  78. package/dist/components/nano-checkbox-group.js.map +1 -1
  79. package/dist/components/nano-checkbox.js +1 -1
  80. package/dist/components/nano-date-input.js +1 -1
  81. package/dist/components/nano-date-input.js.map +1 -1
  82. package/dist/components/nano-file-upload.js +1 -1
  83. package/dist/components/nano-file-upload.js.map +1 -1
  84. package/dist/components/nano-global-nav.js +51 -47
  85. package/dist/components/nano-global-nav.js.map +1 -1
  86. package/dist/components/popover.js +2 -7
  87. package/dist/components/popover.js.map +1 -1
  88. package/dist/components/resize-observe.js +6 -4
  89. package/dist/components/resize-observe.js.map +1 -1
  90. package/dist/components/select.js +16 -13
  91. package/dist/components/select.js.map +1 -1
  92. package/dist/custom-elements/index.js +134 -122
  93. package/dist/custom-elements/index.js.map +1 -1
  94. package/dist/esm/form-control-cf23c6a2.js +82 -0
  95. package/dist/esm/form-control-cf23c6a2.js.map +1 -0
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/nano-checkbox-group.entry.js +1 -1
  98. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  99. package/dist/esm/nano-checkbox.entry.js +1 -1
  100. package/dist/esm/nano-components.js +1 -1
  101. package/dist/esm/nano-datalist_3.entry.js +4 -3
  102. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  103. package/dist/esm/nano-date-input.entry.js +1 -1
  104. package/dist/esm/nano-date-input.entry.js.map +1 -1
  105. package/dist/esm/nano-dropdown.entry.js +1 -1
  106. package/dist/esm/nano-file-upload.entry.js +1 -1
  107. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  108. package/dist/esm/nano-global-nav.entry.js +50 -47
  109. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  110. package/dist/esm/nano-input.entry.js +14 -10
  111. package/dist/esm/nano-input.entry.js.map +1 -1
  112. package/dist/esm/nano-nav-item_2.entry.js +16 -14
  113. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  114. package/dist/esm/nano-resize-observe_2.entry.js +6 -4
  115. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  116. package/dist/esm/nano-tooltip.entry.js +1 -1
  117. package/dist/esm/{popover-7639005b.js → popover-a03563f3.js} +3 -8
  118. package/dist/esm/{popover-7639005b.js.map → popover-a03563f3.js.map} +1 -1
  119. package/dist/esm-es5/form-control-cf23c6a2.js +5 -0
  120. package/dist/esm-es5/form-control-cf23c6a2.js.map +1 -0
  121. package/dist/esm-es5/loader.js +1 -1
  122. package/dist/esm-es5/loader.js.map +1 -1
  123. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  124. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  125. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  126. package/dist/esm-es5/nano-components.js +1 -1
  127. package/dist/esm-es5/nano-components.js.map +1 -1
  128. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  129. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  130. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  131. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  132. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  133. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  134. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  135. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  136. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  137. package/dist/esm-es5/nano-input.entry.js +2 -2
  138. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  139. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  140. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  141. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  142. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  143. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  144. package/dist/esm-es5/{popover-7639005b.js → popover-a03563f3.js} +2 -2
  145. package/dist/esm-es5/popover-a03563f3.js.map +1 -0
  146. package/dist/nano-components/nano-components.esm.js +1 -1
  147. package/dist/nano-components/nano-components.esm.js.map +1 -1
  148. package/dist/nano-components/p-096682d9.system.js +1 -1
  149. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  150. package/dist/nano-components/{p-820d9e23.system.entry.js → p-09e38c5f.system.entry.js} +2 -2
  151. package/dist/nano-components/p-09e38c5f.system.entry.js.map +1 -0
  152. package/dist/nano-components/p-10a6216d.system.entry.js +5 -0
  153. package/dist/nano-components/p-10a6216d.system.entry.js.map +1 -0
  154. package/dist/nano-components/p-1ca46443.entry.js +5 -0
  155. package/dist/nano-components/p-1ca46443.entry.js.map +1 -0
  156. package/dist/nano-components/{p-e7fdc62d.entry.js → p-1e8321ea.entry.js} +2 -2
  157. package/dist/nano-components/{p-e7fdc62d.entry.js.map → p-1e8321ea.entry.js.map} +0 -0
  158. package/dist/nano-components/{p-f9e30f31.system.entry.js → p-2057d480.system.entry.js} +2 -2
  159. package/dist/nano-components/p-2057d480.system.entry.js.map +1 -0
  160. package/dist/nano-components/{p-9acc4596.system.entry.js → p-2ae4918d.system.entry.js} +3 -3
  161. package/dist/nano-components/{p-9acc4596.system.entry.js.map → p-2ae4918d.system.entry.js.map} +0 -0
  162. package/dist/nano-components/{p-c9d09839.entry.js → p-313970ff.entry.js} +2 -2
  163. package/dist/nano-components/{p-c9d09839.entry.js.map → p-313970ff.entry.js.map} +0 -0
  164. package/dist/nano-components/p-39a5280e.system.entry.js +5 -0
  165. package/dist/nano-components/p-39a5280e.system.entry.js.map +1 -0
  166. package/dist/nano-components/{p-178c34e3.js → p-3de7735c.js} +2 -2
  167. package/dist/nano-components/p-3de7735c.js.map +1 -0
  168. package/dist/nano-components/{p-93448bcd.system.entry.js → p-4265cf95.system.entry.js} +2 -2
  169. package/dist/nano-components/{p-93448bcd.system.entry.js.map → p-4265cf95.system.entry.js.map} +0 -0
  170. package/dist/nano-components/p-44c08842.system.entry.js +5 -0
  171. package/dist/nano-components/p-44c08842.system.entry.js.map +1 -0
  172. package/dist/nano-components/{p-f3bf942d.entry.js → p-457d4893.entry.js} +2 -2
  173. package/dist/nano-components/p-457d4893.entry.js.map +1 -0
  174. package/dist/nano-components/{p-383fda90.system.entry.js → p-4870e76d.system.entry.js} +2 -2
  175. package/dist/nano-components/{p-383fda90.system.entry.js.map → p-4870e76d.system.entry.js.map} +0 -0
  176. package/dist/nano-components/{p-20db18f3.entry.js → p-5a315696.entry.js} +2 -2
  177. package/dist/nano-components/{p-20db18f3.entry.js.map → p-5a315696.entry.js.map} +0 -0
  178. package/dist/nano-components/p-6eb25600.system.js +5 -0
  179. package/dist/nano-components/p-6eb25600.system.js.map +1 -0
  180. package/dist/nano-components/p-6f94d755.entry.js +5 -0
  181. package/dist/nano-components/p-6f94d755.entry.js.map +1 -0
  182. package/dist/nano-components/p-802e1416.system.entry.js +5 -0
  183. package/dist/nano-components/{p-ef4e0912.system.entry.js.map → p-802e1416.system.entry.js.map} +1 -1
  184. package/dist/nano-components/p-84767e87.entry.js +5 -0
  185. package/dist/nano-components/p-84767e87.entry.js.map +1 -0
  186. package/dist/nano-components/p-933c35a6.system.entry.js +5 -0
  187. package/dist/nano-components/p-933c35a6.system.entry.js.map +1 -0
  188. package/dist/nano-components/p-971b40a4.system.entry.js +5 -0
  189. package/dist/nano-components/p-971b40a4.system.entry.js.map +1 -0
  190. package/dist/nano-components/p-9d35768b.entry.js +5 -0
  191. package/dist/nano-components/p-9d35768b.entry.js.map +1 -0
  192. package/dist/nano-components/p-9ea13fbe.entry.js +5 -0
  193. package/dist/nano-components/p-9ea13fbe.entry.js.map +1 -0
  194. package/dist/nano-components/p-a6c84740.js +5 -0
  195. package/dist/nano-components/p-a6c84740.js.map +1 -0
  196. package/dist/nano-components/{p-8de6e276.entry.js → p-b4f8e541.entry.js} +2 -2
  197. package/dist/nano-components/p-b4f8e541.entry.js.map +1 -0
  198. package/dist/nano-components/{p-9745d44e.system.js → p-e43ec257.system.js} +2 -2
  199. package/dist/nano-components/p-e43ec257.system.js.map +1 -0
  200. package/dist/nano-components/p-e7c69d4f.entry.js +5 -0
  201. package/dist/nano-components/{p-d6569144.entry.js.map → p-e7c69d4f.entry.js.map} +1 -1
  202. package/dist/types/components/form-control/form-control.d.ts +2 -0
  203. package/dist/types/components/global-nav/global-nav.d.ts +10 -3
  204. package/dist/types/components/input/input.d.ts +3 -0
  205. package/dist/types/components/resize-observe/resize-observe.d.ts +0 -1
  206. package/dist/types/components/select/select.d.ts +2 -1
  207. package/dist/types/components.d.ts +11 -3
  208. package/docs-json.json +51 -17
  209. package/docs-vscode.json +6 -2
  210. package/package.json +4 -3
  211. package/dist/cjs/form-control-3bc82e3e.js +0 -80
  212. package/dist/cjs/form-control-3bc82e3e.js.map +0 -1
  213. package/dist/esm/form-control-67eeb108.js +0 -77
  214. package/dist/esm/form-control-67eeb108.js.map +0 -1
  215. package/dist/esm-es5/form-control-67eeb108.js +0 -5
  216. package/dist/esm-es5/form-control-67eeb108.js.map +0 -1
  217. package/dist/esm-es5/popover-7639005b.js.map +0 -1
  218. package/dist/nano-components/p-0618fac6.system.entry.js +0 -5
  219. package/dist/nano-components/p-0618fac6.system.entry.js.map +0 -1
  220. package/dist/nano-components/p-173bae15.system.entry.js +0 -5
  221. package/dist/nano-components/p-173bae15.system.entry.js.map +0 -1
  222. package/dist/nano-components/p-178c34e3.js.map +0 -1
  223. package/dist/nano-components/p-2559e9c1.entry.js +0 -5
  224. package/dist/nano-components/p-2559e9c1.entry.js.map +0 -1
  225. package/dist/nano-components/p-2be7aab0.system.entry.js +0 -5
  226. package/dist/nano-components/p-2be7aab0.system.entry.js.map +0 -1
  227. package/dist/nano-components/p-2e38a927.entry.js +0 -5
  228. package/dist/nano-components/p-2e38a927.entry.js.map +0 -1
  229. package/dist/nano-components/p-3a13948a.system.entry.js +0 -5
  230. package/dist/nano-components/p-3a13948a.system.entry.js.map +0 -1
  231. package/dist/nano-components/p-4ee978ff.entry.js +0 -5
  232. package/dist/nano-components/p-4ee978ff.entry.js.map +0 -1
  233. package/dist/nano-components/p-5e7c7d3d.entry.js +0 -5
  234. package/dist/nano-components/p-5e7c7d3d.entry.js.map +0 -1
  235. package/dist/nano-components/p-672e5547.js +0 -5
  236. package/dist/nano-components/p-672e5547.js.map +0 -1
  237. package/dist/nano-components/p-820d9e23.system.entry.js.map +0 -1
  238. package/dist/nano-components/p-8de6e276.entry.js.map +0 -1
  239. package/dist/nano-components/p-9745d44e.system.js.map +0 -1
  240. package/dist/nano-components/p-99acaa4f.system.entry.js +0 -5
  241. package/dist/nano-components/p-99acaa4f.system.entry.js.map +0 -1
  242. package/dist/nano-components/p-d4dfa4c5.entry.js +0 -5
  243. package/dist/nano-components/p-d4dfa4c5.entry.js.map +0 -1
  244. package/dist/nano-components/p-d6569144.entry.js +0 -5
  245. package/dist/nano-components/p-ea5eb591.system.js +0 -5
  246. package/dist/nano-components/p-ea5eb591.system.js.map +0 -1
  247. package/dist/nano-components/p-ef4e0912.system.entry.js +0 -5
  248. package/dist/nano-components/p-f3bf942d.entry.js.map +0 -1
  249. package/dist/nano-components/p-f9e30f31.system.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/datalist/datalist.scss?tag=nano-datalist&encapsulation=shadow","src/components/datalist/datalist.tsx","src/components/menu/menu.scss?tag=nano-menu&encapsulation=shadow","src/components/menu/menu.tsx","src/components/option/option.scss?tag=nano-option&encapsulation=shadow","src/components/option/option.tsx"],"names":["datalistCss","findLabel","formCtrl","foundLabel","id","document","querySelector","closest","listIds","DataList","exports","class_1","hostRef","_this","this","isNanoInput","typeToSelect","listId","isFiltered","shouldFocus","_allOptEles","actvOptEles","canOpen","optionIds","selected","_dropDownConfig","skidding","options","type","open","disableFilter","disabled","optSelected","e","stopPropagation","changeInputValue","detail","raf","inputChange","shouldOpen","handleShow","__awaiter","listBox","setFocus","showActiveElement","inputClick","manageDropdownDisplay","inputKeydown","ignoreKeys","includes","key","typeToSelectTimeout","test","clearTimeout","window","setTimeout","setOptStartsWith","optionKeyDown","connectedInput","focus","deleteKeys","exactMatch","debounce","bind","Object","defineProperty","prototype","opts","_a","value","forEach","opt","ddc","assign","allOptEles","openWatcher","writeTask","nanoDropdown","setAttribute","toString","watchInputChange","nanoInput","host","_b","getInputElement","_c","sent","input","HTMLElement","manageSlotChangeListener","length","mo","MutationObserver","processSlottedContent","observe","childList","subtree","disconnect","undefined","flatMap","option","i","label","createElement","ariaPosinset","ariaSetsize","textContent","slot","append","__spreadArray","watchTypeChange","dwConfig","closeOnSelect","autocompleteType","readonly","placement","tetherTo","dropDownConfig","readOnly","manageInputEvents","newInput","oldInput","removeEventListener","inputLabel","removeAttribute","addEventListener","labels","item","watchActvOptChange","c","val","optIds","hidden","isSelected","push","manageCanOpen","hasNoResult","fireActiveOptsEvent","nanoOptionsUpdated","emit","find","nanoSelected","filter","nanoDeselect","nanoSelect","defaultPrevented","event","Event","dispatchEvent","attrFind","toFind","toLowerCase","substring","foundEle","trim","filterMeta","Array","from","querySelectorAll","valStr","activeEles","indexOf","connectedCallback","componentDidLoad","componentDidRender","console","warn","render","h","Host","role","aria-owns","join","aria-label","ref","el","dialogTitle","class","dlist__dropdown","dlist--isfiltered","onNanoAfterShow","onNanoAfterHide","_","dlist__menu","dlist__menu--open","dropwdownOpen","tabIndex","onNanoSelect","onKeyDown","name","aria-live","menuCss","CANSHADOW","head","attachShadow","Menu","class_2","ignoreMouseEvents","_hasFocus","handleFocus","setActiveFocusItem","selectedItem","getItems","nanoFocus","handleClick","target","handleKeyDown","ignoreMouseTimeout","activeItem","click","items","index","preventDefault","scrollIntoView","block","_i","items_1","shadowRoot","getTextContent","handleMouseOver","menu","preventScroll","removeFocus","blur","resetActiveItem","tagName","map","opened","ctx","getDirectChildren","activeElement","getActiveElement","getAttribute","classList","contains","handleBlur","hasFocus","kev","found","composedPath","nanoBlur","legacy","onClick","onMouseOver","onFocus","part","optionCss","Option","class_3","optId","valueChanged","labelContent","labelChanged","componentWillLoad","aria-selected","aria-disabled","onMouseDown","option--selected","option--disabled","option--novalue","aria-hidden"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding-top: for all nested `nano-option` elements. Defaults to #{$spacing-small};\n * @prop --padding-bottom: for all nested `nano-option` elements. Defaults to #{$spacing-small};\n * @prop --padding-start: for all nested `nano-option` elements. Defaults to #{$spacing-xlarge};\n * @prop --padding-end: for all nested `nano-option` elements. Defaults to #{$spacing-xlarge};\n * @prop --font-size: for all nested `nano-option` elements. Defaults to .8em;\n * @prop --color: default text color of content other than `nano-option`. Defaults to #{map.get($colors, palegrey)};\n */\n\n --padding-top: #{$spacing-small};\n --padding-bottom: #{$spacing-small};\n --padding-start: #{$spacing-xlarge};\n --padding-end: #{$spacing-xlarge};\n --font-size: 0.8em;\n --color: #{map.get($colors, palegrey)};\n\n color: var(--color);\n}\n\n.dlist {\n &--isfiltered {\n ::slotted(*:not(nano-option):not([slot='no-result']):not([slot='list-top']):not([slot='list-bottom'])) {\n display: none !important;\n }\n }\n\n &__dropdown {\n --min-width: 100%;\n --overflow: auto;\n }\n\n &__status {\n @include visually-hide();\n }\n\n &__menu {\n --padding-top: inherit;\n --padding-bottom: inherit;\n --padding-start: inherit;\n --padding-end: inherit;\n --font-size: inherit;\n }\n}\n","import {\n Component,\n ComponentInterface,\n h,\n Host,\n Element,\n State,\n Watch,\n Prop,\n Event,\n EventEmitter,\n writeTask,\n Build,\n} from '@stencil/core';\nimport { debounce, raf } from '../../utils';\nimport type { Dropdown } from '../dropdown/dropdown';\nimport type { OptionInterface } from '../../interface';\n\nfunction findLabel(formCtrl: Element) {\n let foundLabel: HTMLLabelElement;\n\n if (formCtrl.id) {\n foundLabel = document.querySelector(`label[for='${formCtrl.id}']`);\n }\n if (!foundLabel) {\n foundLabel = formCtrl.closest('label');\n }\n return foundLabel;\n}\n\nlet listIds = 0;\n\n/**\n * `nano-datalist` a visually consistent and more flexible replacement for a native\n * [datalist](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist). Can be nested within a `nano-input`\n * or linked to any input control via the `input` prop. Is used internally within `nano-select`.\n * Options can be defined declaratively by nesting `<nano-option>` elements or imperatively using the `options` prop\n *\n * @slot - use `<nano-option>` elements for more complex html. Alternatively use the `options` prop\n * @slot list-top - shows at the top of the list when there are options present\n * @slot list-bottom - shows at the bottom of the list when there are options present\n * @slot no-result - shown when there are no results otherwise nothing will be shown\n */\n@Component({\n tag: 'nano-datalist',\n styleUrl: 'datalist.scss',\n shadow: true,\n})\nexport class DataList implements ComponentInterface {\n // Private State\n\n private isNanoInput = false;\n private typeToSelect = '';\n private typeToSelectTimeout: number;\n private nanoDropdown: HTMLNanoDropdownElement;\n private listBox: HTMLNanoMenuElement;\n private mo?: MutationObserver;\n private listId = `nano-datalist-${listIds++}`;\n private isFiltered = false;\n private shouldFocus = false;\n // all potential option eles. Set via slot or `options` prop.\n // Some may get hidden due to filtering\n private get allOptEles() {\n return this._allOptEles;\n }\n private set allOptEles(opts) {\n // when allOptEles are initially set (on slot change / options) -\n // add options to 'selected' and fire selected event *if*\n // value isn't set on the input\n this._allOptEles = opts;\n if (this.connectedInput?.value) return;\n\n opts.forEach((opt) => {\n if (opt.selected && !this.selected.includes(opt.value)) {\n this.changeInputValue(opt);\n }\n });\n }\n private _allOptEles: HTMLNanoOptionElement[] = [];\n\n @Element() host: HTMLNanoDatalistElement;\n\n // active option eles that are not hidden.\n @State() actvOptEles: HTMLNanoOptionElement[] = [];\n @State() connectedInput: HTMLInputElement | HTMLTextAreaElement;\n @State() inputLabel: HTMLLabelElement;\n @State() hasNoResult: boolean;\n @State() shouldOpen: boolean;\n @State() canOpen: boolean = true;\n @State() optionIds: string[] = [];\n\n constructor() {\n this.inputChange = debounce(this.inputChange.bind(this), 50);\n }\n\n // Public API\n\n /** By default, items in the list will appear 'selected' when the value in the linked input control matches.\n * However you can add other selected options via the the selected prop. */\n @Prop({ mutable: true }) selected: string[] = [];\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop()\n get dropDownConfig() {\n return this._dropDownConfig;\n }\n set dropDownConfig(ddc: Partial<Dropdown>) {\n this._dropDownConfig = { ...this._dropDownConfig, ...ddc };\n }\n private _dropDownConfig: Partial<Dropdown> = {\n skidding: -1,\n };\n\n /** Provide an option list.\n * Options can be defined declaratively by nesting `<nano-option>` elements or imperatively using this prop */\n @Prop() options?: OptionInterface[] = [];\n\n /** A selector to a HTMLInputElement */\n @Prop() input?: string | HTMLInputElement;\n\n /** Tweaks the datalist behaviour and linked control semantics and behaviour.\n * e.g. 'select' will make the linked input control `readonly`.\n */\n @Prop() type: 'select' | 'selctMulti' | 'input' = 'input';\n\n /** return all the active options currently within the datalist. Can be useful for validation */\n @Prop()\n get activeOptions() {\n return this.allOptEles;\n }\n\n /** Force datalist open */\n @Prop({ mutable: true }) open: boolean = false;\n\n @Watch('open')\n openWatcher() {\n writeTask(() => {\n this.nanoDropdown.open = this.open;\n this.connectedInput.setAttribute('aria-expanded', this.open.toString());\n });\n }\n\n /** Use this option to disable to default filtering. This is useful if filtering happens\n * externally via another method (e.g. via ajax)\n */\n @Prop() disableFilter = false;\n\n /** Activate / deactivate the datalist control */\n @Prop() disabled = false;\n\n // State change watchers\n\n @Watch('input')\n async watchInputChange() {\n let nanoInput;\n if ((nanoInput = this.host.closest('nano-input'))) {\n this.isNanoInput = true;\n this.connectedInput = await nanoInput.getInputElement();\n } else if (\n this.input &&\n typeof this.input === 'string' &&\n (nanoInput = document.querySelector(this.input))\n ) {\n this.isNanoInput = false;\n this.connectedInput = nanoInput;\n } else if (this.input instanceof HTMLElement) {\n this.connectedInput = this.input;\n }\n }\n\n @Watch('options')\n manageSlotChangeListener() {\n if (!this.host) return;\n\n // we're not using `options` - setup new MO\n if ((!this.options || !this.options.length) && !this.mo) {\n if (Build.isBrowser) {\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.host, { childList: true, subtree: true });\n }\n this.processSlottedContent();\n return;\n }\n\n // we're using `options` - trash current MO\n if (this.options?.length) {\n if (!!this.mo) {\n this.mo.disconnect();\n this.mo = undefined;\n }\n\n // add imperative `options`\n writeTask(() => {\n this.allOptEles = this.options.flatMap((option, i) => {\n if (option.value || option.label) {\n const opt = Object.assign(document.createElement('nano-option'), {\n label: option.label,\n value: option.value,\n ariaPosinset: i,\n ariaSetsize: this.options.length,\n selected: option.selected,\n id: this.listId + '-option-' + i,\n textContent: option.label ? option.label : option.value,\n slot: 'internal-opts',\n });\n this.host.append(opt);\n return opt;\n }\n });\n\n if (this.connectedInput?.value.length && this.type !== 'select') {\n this.inputChange();\n } else this.actvOptEles = [...this.allOptEles];\n });\n }\n // forceUpdate(this.host);\n }\n\n @Watch('type')\n @Watch('connectedInput')\n watchTypeChange() {\n if (!this.connectedInput) return;\n\n let dwConfig: Partial<Dropdown> = { closeOnSelect: false };\n let autocompleteType: 'list' | 'both' = 'both';\n let readonly = false;\n\n switch (this.type) {\n case 'selctMulti':\n // dwConfig.closeOnSelect = false;\n break;\n case 'select':\n autocompleteType = 'list';\n readonly = true;\n dwConfig = { closeOnSelect: true, placement: 'center' };\n break;\n }\n\n if (!this.isNanoInput) {\n dwConfig.tetherTo = this.connectedInput;\n }\n\n this.dropDownConfig = { ...this.dropDownConfig, ...dwConfig };\n this.connectedInput.setAttribute('aria-autocomplete', autocompleteType);\n this.connectedInput.readOnly = readonly;\n }\n\n @Watch('connectedInput')\n manageInputEvents(newInput?: HTMLInputElement, oldInput?: HTMLInputElement) {\n if (!!oldInput) {\n const nanoInput = oldInput.closest('nano-input');\n if (nanoInput) {\n nanoInput.removeEventListener('nanoChange', this.inputChange);\n }\n oldInput.removeEventListener('change', this.inputChange);\n oldInput.removeEventListener('click', this.inputClick);\n oldInput.removeEventListener('keydown', this.inputKeydown);\n oldInput.removeEventListener('input', this.inputChange);\n\n this.inputLabel = null;\n\n writeTask(() => {\n oldInput.removeAttribute('role');\n oldInput.removeAttribute('aria-expanded');\n oldInput.removeAttribute('aria-controls');\n oldInput.removeAttribute('aria-owns');\n oldInput.removeAttribute('aria-haspopup');\n oldInput.removeAttribute('aria-autocomplete');\n oldInput.removeAttribute('autocomplete');\n });\n }\n if (!!newInput) {\n const nanoInput = newInput.closest('nano-input');\n if (nanoInput) {\n nanoInput.addEventListener('nanoChange', this.inputChange);\n }\n newInput.addEventListener('change', this.inputChange);\n newInput.addEventListener('click', this.inputClick);\n newInput.addEventListener('keydown', this.inputKeydown);\n newInput.addEventListener('input', this.inputChange);\n this.listId = this.host.id || this.listId;\n\n this.inputLabel = newInput?.labels?.item(0) || findLabel(newInput);\n\n writeTask(() => {\n this.host.id = this.listId;\n newInput.setAttribute('role', 'combobox');\n newInput.setAttribute('aria-expanded', 'false');\n newInput.setAttribute('aria-controls', this.listId);\n newInput.setAttribute('aria-owns', this.listId);\n newInput.setAttribute('aria-haspopup', 'listbox');\n newInput.setAttribute('autocomplete', 'off');\n });\n }\n }\n\n @Watch('selected')\n @Watch('actvOptEles')\n watchActvOptChange() {\n let c = 0;\n const val = this.connectedInput?.value || '';\n const optIds = [];\n\n writeTask(() => {\n this.allOptEles.forEach((opt, i) => {\n if (this.actvOptEles.includes(opt)) {\n c++;\n opt.setAttribute('aria-posinset', c + '');\n opt.setAttribute('aria-setsize', this.actvOptEles.length + '');\n opt.hidden = false;\n this.isSelected(opt, val);\n } else {\n opt.removeAttribute('aria-posinset');\n opt.removeAttribute('aria-setsize');\n opt.hidden = true;\n opt.selected = false;\n }\n opt.id = this.listId + '-option-' + i;\n optIds.push(opt.id);\n });\n this.optionIds = optIds;\n });\n }\n\n @Watch('actvOptEles')\n @Watch('hasNoResult')\n manageCanOpen() {\n if (this.actvOptEles.length || this.hasNoResult) this.canOpen = true;\n else this.canOpen = false;\n }\n\n /**\n * Opens the dropdown if it can, it should and there are items to display.\n */\n @Watch('shouldOpen')\n @Watch('canOpen')\n manageDropdownDisplay() {\n if (this.shouldOpen && this.canOpen && !this.disabled) this.open = true;\n if (!this.shouldOpen || !this.canOpen) this.open = false;\n }\n\n @Watch('actvOptEles')\n fireActiveOptsEvent() {\n this.nanoOptionsUpdated.emit(this.actvOptEles);\n }\n\n // Events\n\n /** Fired when an item is selected. */\n @Event() nanoSelect: EventEmitter<HTMLNanoOptionElement>;\n\n /** Fired when a currently selected item is reselected. */\n @Event() nanoDeselect: EventEmitter<HTMLNanoOptionElement>;\n\n /** Fired when active options change */\n @Event() nanoOptionsUpdated: EventEmitter<HTMLNanoOptionElement[]>;\n\n // Private logic\n\n private isSelected(opt: HTMLNanoOptionElement, val: string) {\n if (val === opt.value || this.selected.includes(opt.value)) {\n opt.selected = true;\n } else opt.selected = false;\n }\n\n private get dropwdownOpen() {\n if (!this.nanoDropdown || !this.open) return false;\n return true;\n }\n\n private get exactMatch() {\n return this.allOptEles.find(\n (opt) => this.connectedInput.value === opt.value\n );\n }\n\n /** reflect value back to the connected input unless the event is cancelled */\n private changeInputValue(opt: HTMLNanoOptionElement) {\n let nanoSelected;\n\n if (this.selected.includes(opt.value)) {\n // deselect option\n this.selected = this.selected.filter((val) => val !== opt.value);\n nanoSelected = this.nanoDeselect.emit(opt);\n } else {\n // select new option\n this.selected = [...this.selected];\n nanoSelected = this.nanoSelect.emit(opt);\n }\n\n if (!nanoSelected.defaultPrevented) {\n if (this.connectedInput) this.connectedInput.value = opt.value;\n\n const event = new window.Event('change');\n this.connectedInput?.dispatchEvent(event);\n }\n }\n\n // a new option has been picked\n private optSelected = (e: CustomEvent<HTMLNanoOptionElement>) => {\n e.stopPropagation();\n this.changeInputValue(e.detail);\n raf(() => this.inputChange());\n\n if (this.type === 'select') this.shouldOpen = false;\n };\n\n // this is for type=\"select\" only.\n // Filter options that start with text - aggregates letters (as opposed to getting the value from input)\n private setOptStartsWith() {\n const attrFind = (toFind: string) =>\n toFind.toLowerCase().substring(0, this.typeToSelect.length) ===\n this.typeToSelect;\n\n const foundEle = this.allOptEles.find(\n (opt) =>\n opt.value.trim().length > 0 &&\n !opt.disabled &&\n (attrFind(opt.textContent) ||\n attrFind(opt.value) ||\n attrFind(opt.label) ||\n attrFind(opt.filterMeta))\n );\n if (foundEle) this.changeInputValue(foundEle);\n }\n\n // Event handlers\n\n private processSlottedContent() {\n raf(() => {\n this.allOptEles = Array.from(this.host.querySelectorAll('nano-option'));\n this.hasNoResult = !!this.host.querySelector('[slot=\"no-result\"]');\n\n if (this.connectedInput?.value.length && this.type !== 'select') {\n this.inputChange();\n } else this.actvOptEles = this.allOptEles;\n });\n }\n\n // sets focus immediately on open when 'select' - mirroring native behaviour\n private handleShow = async () => {\n if (this.shouldFocus) {\n this.shouldFocus = false;\n this.listBox.setFocus();\n } else if (this.type === 'select') this.listBox.showActiveElement();\n };\n\n // any changes to the connected input value will filter the list of active options\n private inputChange() {\n if (this.disableFilter) {\n this.actvOptEles = this.allOptEles;\n return;\n }\n\n const val = this.connectedInput.value;\n const valStr = val.trim().toLowerCase();\n\n let exactMatch = false;\n const activeEles = [];\n const attrFind = (toFind: string) =>\n toFind.toLowerCase().indexOf(valStr) > -1;\n\n this.allOptEles.forEach((opt) => {\n if (\n (val === opt.value || val === opt.label) &&\n this.type !== 'selctMulti'\n ) {\n opt.selected = true;\n exactMatch = true;\n } else this.isSelected(opt, val);\n });\n\n this.allOptEles.forEach((opt) => {\n if (!valStr.length || exactMatch) {\n activeEles.push(opt);\n } else if (\n opt.value.trim().length > 0 &&\n !opt.disabled &&\n (attrFind(opt.textContent) ||\n attrFind(opt.value) ||\n attrFind(opt.label) ||\n attrFind(opt.filterMeta))\n ) {\n activeEles.push(opt);\n }\n });\n\n this.isFiltered = valStr.length && !exactMatch;\n this.actvOptEles = activeEles;\n }\n\n private inputClick = () => {\n this.shouldOpen = true;\n // open dropdown if possible\n this.manageDropdownDisplay();\n };\n\n private inputKeydown = (e: KeyboardEvent) => {\n const ignoreKeys = [\n 'Shift',\n 'ArrowRight',\n 'ArrowLeft',\n 'Escape',\n 'Enter',\n 'Tab',\n ];\n if (ignoreKeys.includes(e.key)) {\n if (e.key === 'Tab') this.shouldOpen = false;\n return;\n }\n\n // When select, mirror native select behaviour. Search on closed list\n if (\n this.type === 'select' &&\n !['ArrowDown', 'ArrowUp'].includes(e.key) &&\n (e.key !== ' ' || this.typeToSelectTimeout)\n ) {\n if (e.key === ' ' || /^[a-z0-9]+$/i.test(e.key)) {\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(() => {\n this.typeToSelect = '';\n this.typeToSelectTimeout = 0;\n }, 750);\n this.typeToSelect += e.key;\n this.setOptStartsWith();\n }\n return;\n }\n\n this.shouldOpen = true;\n // open dropdown if possible\n this.manageDropdownDisplay();\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) this.shouldFocus = true;\n };\n\n // handles key down on options. Either 'picks'\n // an option or passes event back to input for search / filter\n private optionKeyDown = (\n e: KeyboardEvent & { target: HTMLNanoOptionElement }\n ) => {\n const ignoreKeys = [\n 'Shift',\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n 'Enter',\n 'Tab',\n 'Space',\n 'PageUp',\n 'PageDown',\n 'Home',\n 'End',\n ' ',\n ];\n if (ignoreKeys.includes(e.key)) {\n if (e.key === 'Escape') this.connectedInput.focus();\n return;\n }\n\n const deleteKeys = ['Delete', 'Backspace'];\n // this passes whatever's typed back to our input control\n if (\n this.type !== 'select' &&\n (!this.exactMatch || deleteKeys.includes(e.key))\n ) {\n this.connectedInput.focus();\n }\n };\n\n // Component lifecycle\n\n connectedCallback() {\n this.watchInputChange();\n }\n\n componentDidLoad() {\n this.manageSlotChangeListener();\n this.openWatcher();\n }\n\n componentDidRender(): void {\n setTimeout(() => {\n if (!this.connectedInput)\n console.warn(\n 'no `nano-input` found. `nano-datalist` should be nested within an `nano-input` or linked via `input` prop',\n this.host\n );\n }, 500);\n }\n\n render() {\n return (\n <Host\n role=\"listbox\"\n aria-owns={this.optionIds.join(' ')}\n aria-label=\"Select options from the list below\"\n >\n <nano-dropdown\n {...this.dropDownConfig}\n ref={(el) => (this.nanoDropdown = el)}\n dialogTitle=\"Select options from the list below\"\n class={{\n dlist__dropdown: true,\n 'dlist--isfiltered': this.isFiltered,\n }}\n onNanoAfterShow={this.handleShow}\n onNanoAfterHide={(_) => (this.open = false)}\n >\n <nano-menu\n hidden={!this.actvOptEles.length}\n type=\"listbox\"\n label={this.inputLabel ? this.inputLabel.textContent : undefined}\n class={{\n dlist__menu: true,\n 'dlist__menu--open': this.dropwdownOpen,\n }}\n tabIndex={-1}\n onNanoSelect={this.optSelected}\n onKeyDown={this.optionKeyDown}\n ref={(el) => (this.listBox = el)}\n >\n <slot name=\"list-top\" />\n {!this.options.length && <slot />}\n {!!this.options.length && <slot name=\"internal-opts\" />}\n <slot name=\"list-bottom\" />\n </nano-menu>\n <nano-menu\n type=\"listbox\"\n label=\"No results found\"\n hidden={!!this.actvOptEles.length}\n class={{\n dlist__menu: true,\n 'dlist__menu--open': this.dropwdownOpen,\n }}\n >\n <slot name=\"no-result\" />\n </nano-menu>\n {!!this.actvOptEles && (\n <div aria-live=\"polite\" role=\"status\" class=\"dlist__status\">\n {this.actvOptEles.length} result\n {this.actvOptEles.length > 1 ? 's' : ''} available.\n </div>\n )}\n </nano-dropdown>\n </Host>\n );\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding-start: padding at the start of nav-items (left r2l / right l2r). Defaults to '10px'\n * @prop --padding-end: padding at the end of nav-items (right r2l / left l2r). Defaults to '10px'\n * @prop --padding-top: padding at the top of nav-items. Defaults to '10px'\n * @prop --padding-bottom: padding at the bottom of nav-items. Defaults to '10px'\n\n * @prop --secondary-padding-top: padding at the top of nested nav-items. Defaults to 0\n * @prop --secondary-padding-bottom: padding at the bottom of nested nav-items. Defaults to 0\n\n * @prop --bg-color-hover: bg hover color of nav-items. Defaults to #{map.get($colors, blue--faded)};\n * @prop --bg-color-focus: bg focus color of nav-items. Defaults to #{map.get($colors, blue--faded)};\n * @prop --bg-color-selected: bg selected color of nav-items. Defaults to #{map.get($colors, blue--faded)};\n\n * @prop --color-hover: text hover color of nav-items. Defaults to #{map.get($colors, blue)}\n * @prop --color-selected: text selected color of nav-items. Defaults to #{map.get($colors, blue)}\n * @prop --color-focus: text focus color of nav-items. Defaults to #{map.get($colors, blue)}\n\n * @prop --focus-outline: the focus style of nav-items. Defaults to 'none'\n * @prop --font-size: default font-size for all items. Defaults .9em;\n */\n\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n --padding-top: #{$spacing-small};\n --padding-bottom: #{$spacing-small};\n --secondary-padding-top: 0;\n --secondary-padding-bottom: 0;\n --bg-color-hover: #{map.get($colors, blue--faded)};\n --bg-color-focus: #{map.get($colors, blue--faded)};\n --bg-color-selected: #{map.get($colors, blue--faded)};\n --color-hover: #{map.get($colors, blue)};\n --color-selected: #{map.get($colors, blue)};\n --color-focus: #{map.get($colors, blue)};\n --focus-outline: none;\n --font-size: 0.9em;\n\n display: block;\n}\n\n.menu {\n font-size: var(--font-size, 0.9em);\n overscroll-behavior: none;\n min-width: var(--width);\n position: relative;\n\n &:focus {\n outline: none;\n }\n}\n\n::slotted(*:not(nano-nav-item):not(nano-option):not(hr):not(slot)) {\n @include padding(\n var(--padding-top),\n var(--padding-end),\n var(--padding-bottom),\n var(--padding-start)\n );\n\n display: block;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n Method,\n h,\n Host,\n Element,\n Prop,\n Listen,\n} from '@stencil/core';\nimport {\n getTextContent,\n getDirectChildren,\n getActiveElement,\n} from '../../utils';\n\nconst CANSHADOW = !!document.head.attachShadow;\n\ntype ValidElement = HTMLNanoNavItemElement | HTMLNanoOptionElement;\ntype NNI = HTMLNanoNavItemElement;\n\n/**\n * Menu element. Commonly wrapped by `nano-dropdown` with `nano-option` and `nano-nav-item` elements nested.\n * Manages focus state / active.\n * @slot - The menu's content; `nano-option`, `nano-nav-item` elements as well as <hr> and more.\n */\n@Component({\n tag: 'nano-menu',\n styleUrl: 'menu.scss',\n shadow: true,\n})\nexport class Menu {\n private ignoreMouseEvents = false;\n private ignoreMouseTimeout: any;\n private menu: HTMLElement;\n private typeToSelect = '';\n private typeToSelectTimeout: any;\n\n @Element() private el: HTMLNanoMenuElement;\n\n // Public API\n\n /** get the focus state of the menu @readonly */\n @Prop()\n get hasFocus() {\n return this._hasFocus;\n }\n private _hasFocus = false;\n\n /** changes the role of the underlying control - sometimes required for semantics */\n @Prop() type: 'menu' | 'listbox' = 'menu';\n\n /** an accessible label */\n @Prop() label: string;\n\n // Events\n\n /** Emitted when the menu gains focus. */\n @Event() nanoFocus: EventEmitter;\n\n /** Emitted when the menu loses focus. */\n @Event() nanoBlur: EventEmitter;\n\n /** Emitted when a menu item is selected. */\n @Event() nanoSelect: EventEmitter<\n HTMLNanoOptionElement | HTMLNanoNavItemElement\n >;\n\n // Public Methods\n\n /** Sets focus on the menu. */\n @Method()\n async setFocus() {\n if (this.menu?.focus) this.menu.focus({ preventScroll: true });\n }\n\n /** Removes focus from the menu. */\n @Method()\n async removeFocus() {\n if (this.menu?.blur) this.menu.blur();\n }\n\n /** Sets the current active item */\n @Method()\n async showActiveElement() {\n if (this.selectedItem)\n this.selectedItem.scrollIntoView({ block: 'nearest' });\n }\n\n /** Removes any active item's state */\n @Method()\n async resetActiveItem() {\n this.getItems\n .filter((i) => i.tagName.toLowerCase() === 'nano-option')\n .map((i) => i.setAttribute('tabindex', '-1'));\n }\n\n // Private methods\n\n get getItems() {\n let items: ValidElement[];\n let opened = this.el.querySelectorAll('nano-nav-item.secondary-open');\n if (opened.length) {\n const ctx = opened[opened.length - 1] as HTMLNanoNavItemElement;\n items = Array.from(ctx.querySelectorAll('nano-nav-item, nano-option'));\n } else {\n items = getDirectChildren(\n this.el,\n 'nano-nav-item, nano-option',\n 'slot'\n ) as ValidElement[];\n }\n return items.filter((el) => !el.disabled && !el.hidden);\n }\n\n get activeItem() {\n const activeElement = getActiveElement();\n return this.getItems.find(\n (i) =>\n i.getAttribute('tabindex') === '0' ||\n i === activeElement ||\n i.classList.contains('has-focus')\n );\n }\n\n get selectedItem() {\n return this.getItems.find((i) => i.selected);\n }\n\n private async setActiveFocusItem(item?: ValidElement, focus = true) {\n const items = this.getItems;\n let activeItem =\n !item || item.disabled ? items.find((i) => i.selected) || items[0] : item;\n\n items\n .filter((i) => i.tagName.toLowerCase() === 'nano-option')\n .map((i: HTMLNanoOptionElement) =>\n i.setAttribute('tabindex', i === activeItem ? '0' : '-1')\n );\n\n if (!focus) return;\n\n if (activeItem) {\n (activeItem as NNI).setFocus\n ? (activeItem as NNI).setFocus()\n : activeItem.focus();\n } else this.menu.focus();\n }\n\n // Event Handlers\n\n @Listen('mousedown', { target: 'body' })\n @Listen('keydown')\n handleBlur(e: KeyboardEvent | MouseEvent) {\n if (!this.hasFocus) return;\n\n const kev = e as KeyboardEvent;\n let found: boolean;\n\n if (kev.key) {\n if (kev.key !== 'Tab') return;\n found =\n getActiveElement() &&\n getActiveElement().closest(this.el.tagName.toLowerCase()) === this.el;\n } else found = !!e.composedPath().find((el) => el === this.el);\n\n if (!found) {\n this.resetActiveItem();\n this._hasFocus = false;\n this.nanoBlur.emit();\n }\n }\n\n private handleFocus = () => {\n this.setActiveFocusItem(this.selectedItem || this.getItems[0]);\n\n this._hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const item = target.closest('nano-nav-item');\n\n if (item && !item.disabled) {\n this.nanoSelect.emit(item);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // When keying through the menu, if the mouse happens to be hovering over a menu item and the menu scrolls, the\n // mouseout/mouseover event will fire causing the selection to be different than what the user expects. This gives\n // us a way to temporarily ignore mouse events while the user is interacting with a keyboard.\n clearTimeout(this.ignoreMouseTimeout);\n this.ignoreMouseTimeout = setTimeout(\n () => (this.ignoreMouseEvents = false),\n 500\n );\n this.ignoreMouseEvents = true;\n\n // Make a selection when pressing enter\n switch (event.key) {\n case ' ':\n if (this.activeItem) this.activeItem.click();\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'PageDown':\n case 'PageUp':\n case 'Home':\n case 'End':\n const items = this.getItems;\n const selectedItem = this.activeItem;\n let index = items.indexOf(selectedItem);\n\n if (items.length) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n index++;\n } else if (event.key === 'ArrowUp') {\n index--;\n } else if (event.key === 'Home' || event.key === 'PageUp') {\n index = 0;\n } else if (event.key === 'End' || event.key === 'PageDown') {\n index = items.length - 1;\n }\n\n if (index < 0) index = items.length - 1;\n if (index > items.length - 1) index = 0;\n\n this.setActiveFocusItem(items[index]);\n if (items[index]) items[index].scrollIntoView({ block: 'nearest' });\n return;\n }\n break;\n }\n\n // Handle type-to-search behavior when non-control characters are entered\n if (event.key === ' ' || /^[a-z0-9]+$/i.test(event.key)) {\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = setTimeout(\n () => (this.typeToSelect = ''),\n 750\n );\n this.typeToSelect += event.key;\n\n const items = this.getItems;\n for (const item of items) {\n const slot = item.shadowRoot.querySelector(\n 'slot:not([name])'\n ) as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (\n label.substring(0, this.typeToSelect.length) === this.typeToSelect\n ) {\n this.setActiveFocusItem(item);\n break;\n }\n }\n }\n };\n\n private handleMouseOver = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const item =\n target.closest('nano-nav-item') || target.closest('nano-option');\n\n if (item && !this.ignoreMouseEvents) {\n this.setActiveFocusItem(item);\n }\n };\n\n // Component Lifecycle\n\n render() {\n return (\n <Host\n class={{\n legacy: !CANSHADOW,\n }}\n >\n <div\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onMouseOver={this.handleMouseOver}\n onFocus={this.handleFocus}\n aria-label={this.label ? this.label : undefined}\n role={this.type}\n ref={(el) => (this.menu = el)}\n part=\"base\"\n class={{\n menu: true,\n ['menu--' + this.type]: true,\n 'menu--has-focus': this.hasFocus,\n }}\n tabIndex={-1}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding-top: Defaults to #{$spacing-small};\n * @prop --padding-bottom: Defaults to #{$spacing-small};\n * @prop --padding-start: Defaults to #{$spacing-small};\n * @prop --padding-end: Defaults to #{$spacing-small};\n\n * @prop --bg: default background. Defaults to none;\n * @prop --bg-selected: background when selected. Defaults to #{$select-opt-selected};\n * @prop --bg-focus: background when focused. Defaults to var(--nano-color-base, #{nano-color(primary, tint)});\n * @prop --bg-disabled: background when disabled. Defaults to none;\n\n * @prop --color: default text color. Defaults to var(--input-text-color, #{$input-text-color});\n * @prop --color-selected: text color when selected. Defaults to var(--nano-color-base, #{nano-color(primary, base)});\n * @prop --color-focus: text color when focused. Defaults to var(--nano-color-base, #{nano-color(primary, contrast)});\n * @prop --color-disabled: text color when disabled. Defaults to #{map.get($colors, palegrey)};\n\n * @prop --opt-icon-size: Sizes all icons within the option. Defaults to 1.4em;\n */\n\n --bg: none;\n --bg-selected: #{$select-opt-selected};\n --bg-focus: var(--nano-color-base, #{nano-color(primary, tint)});\n --bg-disabled: none;\n --color: var(--input-text-color, #{$input-text-color});\n --color-selected: var(--nano-color-base, #{nano-color(primary, base)});\n --color-focus: var(--nano-color-contrast, #{nano-color(primary, contrast)});\n --color-disabled: #{map.get($colors, palegrey)};\n --opt-icon-size: 1.6em;\n\n display: block;\n color: var(--color);\n overflow: hidden;\n font-size: 14px;\n font-size: #{'clamp(12px, .9em, 16px)'};\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.option {\n $self: &;\n\n position: relative;\n user-select: none;\n cursor: pointer;\n display: flex;\n align-items: stretch;\n width: 100%;\n background: var(--bg);\n\n @include padding(\n var(--padding-top),\n var(--padding-end),\n var(--padding-bottom),\n var(--padding-start)\n );\n\n // focus\n :host(:focus) &:not(.option--disabled),\n :host &.option--selected {\n outline: none;\n background: var(--bg-selected);\n color: var(--color-selected);\n }\n\n :host(:focus) &:not(.option--disabled) {\n background: var(--bg-focus);\n color: var(--color-focus);\n }\n\n // disabled\n &.option--disabled {\n outline: none;\n color: var(--color-disabled);\n cursor: not-allowed;\n background: var(--bg-disabled);\n }\n\n // no value\n &.option--novalue {\n font-style: italic;\n opacity: 0.7;\n }\n\n &__label {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n }\n\n &__start {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(nano-icon) {\n font-size: var(--opt-icon-size);\n }\n\n ::slotted(:last-child) {\n @include margin(null, 0.5em, null, null);\n }\n }\n\n &__end {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(nano-icon) {\n font-size: var(--opt-icon-size);\n }\n\n ::slotted(:first-child) {\n @include margin(null, null, null, 0.5em);\n }\n }\n\n &__check {\n visibility: hidden;\n display: flex;\n position: absolute;\n left: 0.6em;\n top: calc(50% - 0.6em);\n align-items: center;\n font-size: 0.9em;\n\n #{$self}--selected:not(#{$self}--novalue) & {\n visibility: visible;\n }\n }\n}\n","import {\n Component,\n Prop,\n h,\n Host,\n State,\n Watch,\n Element,\n Listen,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { OptionInterface } from '../../interface';\nimport { debounce, getDirectChildren } from '../../utils';\n\nlet optIds = 0;\n\n/**\n * Select options to be used with [nano-select](/story/nano-components-select) or [nano-datalist](/story/nano-components-select)\n *\n * @slot - main label. Defaults to `label` or `value` prop\n * @slot checked-icon - icon to indicated checked / selected state. Defaults to fontawesome light/check\n * @slot start - suitable for an icon or content displayed at the start of the main label\n * @slot end - suitable for an icon or content displayed at the end of the main label\n */\n@Component({\n tag: 'nano-option',\n styleUrl: 'option.scss',\n shadow: true,\n})\nexport class Option implements OptionInterface {\n private optId = `nano-option-${optIds++}`;\n @Element() host: HTMLNanoOptionElement;\n @State() hasFocus = false;\n\n constructor() {\n this.handleClick = debounce(this.handleClick.bind(this), 5);\n }\n\n // Public API\n\n /**\n * Value of the option\n */\n @Prop({ mutable: true, reflect: true }) value: string = '';\n\n @Watch('value')\n valueChanged() {\n if (!this.value || !this.value.length) this.value = this.labelContent;\n }\n\n /**\n * Label of the option\n */\n @Prop({ mutable: true, reflect: true }) label: string = '';\n\n @Watch('label')\n labelChanged() {\n if (!this.label || !this.label.length)\n this.label = this.labelContent.length ? this.labelContent : this.value;\n }\n\n /**\n * Whether this option is selected\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Whether this option should be disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** You can add extra meta for this option. When displayed in a list, users\n * search / filter via extra related terms. Another usecase is 'endonyms'\n */\n @Prop() filterMeta: string = '';\n\n /** Fired when an option is selected */\n @Event() nanoSelect!: EventEmitter<HTMLNanoOptionElement>;\n\n // Event handlers\n\n // stop scrolling on select\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (e.key !== ' ' && e.key !== 'Enter') return;\n e.preventDefault();\n this.nanoSelect.emit(this.host);\n }\n\n private handleClick() {\n if (this.disabled) return;\n this.nanoSelect.emit(this.host);\n }\n\n // Private logic\n\n private get labelContent() {\n return getDirectChildren(this.host, '*:not([slot])', false)\n .map((el) => el.textContent)\n .join(' ')\n .trim();\n }\n\n // Component lifecycle\n\n componentWillLoad() {\n this.valueChanged();\n this.labelChanged();\n }\n\n render() {\n return (\n <Host\n role=\"option\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <div\n onMouseDown={this.handleClick}\n id={this.optId}\n class={{\n option: true,\n 'option--selected': this.selected,\n 'option--disabled': this.disabled,\n 'option--novalue': !this.value,\n }}\n >\n <div part=\"check-icon\" class=\"option__check\">\n <slot name=\"check-icon\">\n <nano-icon name=\"light/check\" aria-hidden=\"true\" />\n </slot>\n </div>\n <div part=\"start\" class=\"option__start\">\n <slot name=\"start\"></slot>\n </div>\n <div part=\"label\" class=\"option__label\">\n <slot>{this.label || this.value}</slot>\n </div>\n <div part=\"end\" class=\"option__end\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r}from"./p-289aa03f.js";var t="top";var e="bottom";var n="right";var a="left";var i="auto";var o=[t,e,n,a];var f="start";var v="end";var u="clippingParents";var s="viewport";var c="popper";var l="reference";var d=o.reduce((function(r,t){return r.concat([t+"-"+f,t+"-"+v])}),[]);var p=[].concat(o,[i]).reduce((function(r,t){return r.concat([t,t+"-"+f,t+"-"+v])}),[]);var h="beforeRead";var b="read";var m="afterRead";var y="beforeMain";var w="main";var x="afterMain";var O="beforeWrite";var g="write";var j="afterWrite";var k=[h,b,m,y,w,x,O,g,j];function M(r){return r?(r.nodeName||"").toLowerCase():null}function A(r){if(r==null){return window}if(r.toString()!=="[object Window]"){var t=r.ownerDocument;return t?t.defaultView||window:window}return r}function E(r){var t=A(r).Element;return r instanceof t||r instanceof Element}function q(r){var t=A(r).HTMLElement;return r instanceof t||r instanceof HTMLElement}function P(r){if(typeof ShadowRoot==="undefined"){return false}var t=A(r).ShadowRoot;return r instanceof t||r instanceof ShadowRoot}function S(r){var t=r.state;Object.keys(t.elements).forEach((function(r){var e=t.styles[r]||{};var n=t.attributes[r]||{};var a=t.elements[r];if(!q(a)||!M(a)){return}Object.assign(a.style,e);Object.keys(n).forEach((function(r){var t=n[r];if(t===false){a.removeAttribute(r)}else{a.setAttribute(r,t===true?"":t)}}))}))}function W(r){var t=r.state;var e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,e.popper);t.styles=e;if(t.elements.arrow){Object.assign(t.elements.arrow.style,e.arrow)}return function(){Object.keys(t.elements).forEach((function(r){var n=t.elements[r];var a=t.attributes[r]||{};var i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:e[r]);var o=i.reduce((function(r,t){r[t]="";return r}),{});if(!q(n)||!M(n)){return}Object.assign(n.style,o);Object.keys(a).forEach((function(r){n.removeAttribute(r)}))}))}}const B={name:"applyStyles",enabled:true,phase:"write",fn:S,effect:W,requires:["computeStyles"]};function T(r){return r.split("-")[0]}var R=Math.max;var H=Math.min;var L=Math.round;function I(r,t){if(t===void 0){t=false}var e=r.getBoundingClientRect();var n=1;var a=1;if(q(r)&&t){var i=r.offsetHeight;var o=r.offsetWidth;if(o>0){n=L(e.width)/o||1}if(i>0){a=L(e.height)/i||1}}return{width:e.width/n,height:e.height/a,top:e.top/a,right:e.right/n,bottom:e.bottom/a,left:e.left/n,x:e.left/n,y:e.top/a}}function C(r){var t=I(r);var e=r.offsetWidth;var n=r.offsetHeight;if(Math.abs(t.width-e)<=1){e=t.width}if(Math.abs(t.height-n)<=1){n=t.height}return{x:r.offsetLeft,y:r.offsetTop,width:e,height:n}}function F(r,t){var e=t.getRootNode&&t.getRootNode();if(r.contains(t)){return true}else if(e&&P(e)){var n=t;do{if(n&&r.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function z(r){return A(r).getComputedStyle(r)}function D(r){return["table","td","th"].indexOf(M(r))>=0}function U(r){return((E(r)?r.ownerDocument:r.document)||window.document).documentElement}function V(r){if(M(r)==="html"){return r}return r.assignedSlot||r.parentNode||(P(r)?r.host:null)||U(r)}function $(r){if(!q(r)||z(r).position==="fixed"){return null}return r.offsetParent}function _(r){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;var e=navigator.userAgent.indexOf("Trident")!==-1;if(e&&q(r)){var n=z(r);if(n.position==="fixed"){return null}}var a=V(r);if(P(a)){a=a.host}while(q(a)&&["html","body"].indexOf(M(a))<0){var i=z(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none"){return a}else{a=a.parentNode}}return null}function G(r){var t=A(r);var e=$(r);while(e&&D(e)&&z(e).position==="static"){e=$(e)}if(e&&(M(e)==="html"||M(e)==="body"&&z(e).position==="static")){return t}return e||_(r)||t}function J(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function K(r,t,e){return R(r,H(t,e))}function N(r,t,e){var n=K(r,t,e);return n>e?e:n}function Q(){return{top:0,right:0,bottom:0,left:0}}function X(r){return Object.assign({},Q(),r)}function Y(r,t){return t.reduce((function(t,e){t[e]=r;return t}),{})}var Z=function r(t,e){t=typeof t==="function"?t(Object.assign({},e.rects,{placement:e.placement})):t;return X(typeof t!=="number"?t:Y(t,o))};function rr(r){var i;var o=r.state,f=r.name,v=r.options;var u=o.elements.arrow;var s=o.modifiersData.popperOffsets;var c=T(o.placement);var l=J(c);var d=[a,n].indexOf(c)>=0;var p=d?"height":"width";if(!u||!s){return}var h=Z(v.padding,o);var b=C(u);var m=l==="y"?t:a;var y=l==="y"?e:n;var w=o.rects.reference[p]+o.rects.reference[l]-s[l]-o.rects.popper[p];var x=s[l]-o.rects.reference[l];var O=G(u);var g=O?l==="y"?O.clientHeight||0:O.clientWidth||0:0;var j=w/2-x/2;var k=h[m];var M=g-b[p]-h[y];var A=g/2-b[p]/2+j;var E=K(k,A,M);var q=l;o.modifiersData[f]=(i={},i[q]=E,i.centerOffset=E-A,i)}function tr(r){var t=r.state,e=r.options;var n=e.element,a=n===void 0?"[data-popper-arrow]":n;if(a==null){return}if(typeof a==="string"){a=t.elements.popper.querySelector(a);if(!a){return}}if(!F(t.elements.popper,a)){return}t.elements.arrow=a}const er={name:"arrow",enabled:true,phase:"main",fn:rr,effect:tr,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function nr(r){return r.split("-")[1]}var ar={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ir(r){var t=r.x,e=r.y;var n=window;var a=n.devicePixelRatio||1;return{x:L(t*a)/a||0,y:L(e*a)/a||0}}function or(r){var i;var o=r.popper,f=r.popperRect,u=r.placement,s=r.variation,c=r.offsets,l=r.position,d=r.gpuAcceleration,p=r.adaptive,h=r.roundOffsets,b=r.isFixed;var m=c.x,y=m===void 0?0:m,w=c.y,x=w===void 0?0:w;var O=typeof h==="function"?h({x:y,y:x}):{x:y,y:x};y=O.x;x=O.y;var g=c.hasOwnProperty("x");var j=c.hasOwnProperty("y");var k=a;var M=t;var E=window;if(p){var q=G(o);var P="clientHeight";var S="clientWidth";if(q===A(o)){q=U(o);if(z(q).position!=="static"&&l==="absolute"){P="scrollHeight";S="scrollWidth"}}q=q;if(u===t||(u===a||u===n)&&s===v){M=e;var W=b&&q===E&&E.visualViewport?E.visualViewport.height:q[P];x-=W-f.height;x*=d?1:-1}if(u===a||(u===t||u===e)&&s===v){k=n;var B=b&&q===E&&E.visualViewport?E.visualViewport.width:q[S];y-=B-f.width;y*=d?1:-1}}var T=Object.assign({position:l},p&&ar);var R=h===true?ir({x:y,y:x}):{x:y,y:x};y=R.x;x=R.y;if(d){var H;return Object.assign({},T,(H={},H[M]=j?"0":"",H[k]=g?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",H))}return Object.assign({},T,(i={},i[M]=j?x+"px":"",i[k]=g?y+"px":"",i.transform="",i))}function fr(r){var t=r.state,e=r.options;var n=e.gpuAcceleration,a=n===void 0?true:n,i=e.adaptive,o=i===void 0?true:i,f=e.roundOffsets,v=f===void 0?true:f;var u={placement:T(t.placement),variation:nr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};if(t.modifiersData.popperOffsets!=null){t.styles.popper=Object.assign({},t.styles.popper,or(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:v})))}if(t.modifiersData.arrow!=null){t.styles.arrow=Object.assign({},t.styles.arrow,or(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:v})))}t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const vr={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:fr,data:{}};var ur={passive:true};function sr(r){var t=r.state,e=r.instance,n=r.options;var a=n.scroll,i=a===void 0?true:a,o=n.resize,f=o===void 0?true:o;var v=A(t.elements.popper);var u=[].concat(t.scrollParents.reference,t.scrollParents.popper);if(i){u.forEach((function(r){r.addEventListener("scroll",e.update,ur)}))}if(f){v.addEventListener("resize",e.update,ur)}return function(){if(i){u.forEach((function(r){r.removeEventListener("scroll",e.update,ur)}))}if(f){v.removeEventListener("resize",e.update,ur)}}}const cr={name:"eventListeners",enabled:true,phase:"write",fn:function r(){},effect:sr,data:{}};var lr={left:"right",right:"left",bottom:"top",top:"bottom"};function dr(r){return r.replace(/left|right|bottom|top/g,(function(r){return lr[r]}))}var pr={start:"end",end:"start"};function hr(r){return r.replace(/start|end/g,(function(r){return pr[r]}))}function br(r){var t=A(r);var e=t.pageXOffset;var n=t.pageYOffset;return{scrollLeft:e,scrollTop:n}}function mr(r){return I(U(r)).left+br(r).scrollLeft}function yr(r){var t=A(r);var e=U(r);var n=t.visualViewport;var a=e.clientWidth;var i=e.clientHeight;var o=0;var f=0;if(n){a=n.width;i=n.height;if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){o=n.offsetLeft;f=n.offsetTop}}return{width:a,height:i,x:o+mr(r),y:f}}function wr(r){var t;var e=U(r);var n=br(r);var a=(t=r.ownerDocument)==null?void 0:t.body;var i=R(e.scrollWidth,e.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0);var o=R(e.scrollHeight,e.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0);var f=-n.scrollLeft+mr(r);var v=-n.scrollTop;if(z(a||e).direction==="rtl"){f+=R(e.clientWidth,a?a.clientWidth:0)-i}return{width:i,height:o,x:f,y:v}}function xr(r){var t=z(r),e=t.overflow,n=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+a+n)}function Or(r){if(["html","body","#document"].indexOf(M(r))>=0){return r.ownerDocument.body}if(q(r)&&xr(r)){return r}return Or(V(r))}function gr(r,t){var e;if(t===void 0){t=[]}var n=Or(r);var a=n===((e=r.ownerDocument)==null?void 0:e.body);var i=A(n);var o=a?[i].concat(i.visualViewport||[],xr(n)?n:[]):n;var f=t.concat(o);return a?f:f.concat(gr(V(o)))}function jr(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function kr(r){var t=I(r);t.top=t.top+r.clientTop;t.left=t.left+r.clientLeft;t.bottom=t.top+r.clientHeight;t.right=t.left+r.clientWidth;t.width=r.clientWidth;t.height=r.clientHeight;t.x=t.left;t.y=t.top;return t}function Mr(r,t){return t===s?jr(yr(r)):E(t)?kr(t):jr(wr(U(r)))}function Ar(r){var t=gr(V(r));var e=["absolute","fixed"].indexOf(z(r).position)>=0;var n=e&&q(r)?G(r):r;if(!E(n)){return[]}return t.filter((function(r){return E(r)&&F(r,n)&&M(r)!=="body"}))}function Er(r,t,e){var n=t==="clippingParents"?Ar(r):[].concat(t);var a=[].concat(n,[e]);var i=a[0];var o=a.reduce((function(t,e){var n=Mr(r,e);t.top=R(n.top,t.top);t.right=H(n.right,t.right);t.bottom=H(n.bottom,t.bottom);t.left=R(n.left,t.left);return t}),Mr(r,i));o.width=o.right-o.left;o.height=o.bottom-o.top;o.x=o.left;o.y=o.top;return o}function qr(r){var i=r.reference,o=r.element,u=r.placement;var s=u?T(u):null;var c=u?nr(u):null;var l=i.x+i.width/2-o.width/2;var d=i.y+i.height/2-o.height/2;var p;switch(s){case t:p={x:l,y:i.y-o.height};break;case e:p={x:l,y:i.y+i.height};break;case n:p={x:i.x+i.width,y:d};break;case a:p={x:i.x-o.width,y:d};break;default:p={x:i.x,y:i.y}}var h=s?J(s):null;if(h!=null){var b=h==="y"?"height":"width";switch(c){case f:p[h]=p[h]-(i[b]/2-o[b]/2);break;case v:p[h]=p[h]+(i[b]/2-o[b]/2);break}}return p}function Pr(r,a){if(a===void 0){a={}}var i=a,f=i.placement,v=f===void 0?r.placement:f,d=i.boundary,p=d===void 0?u:d,h=i.rootBoundary,b=h===void 0?s:h,m=i.elementContext,y=m===void 0?c:m,w=i.altBoundary,x=w===void 0?false:w,O=i.padding,g=O===void 0?0:O;var j=X(typeof g!=="number"?g:Y(g,o));var k=y===c?l:c;var M=r.rects.popper;var A=r.elements[x?k:y];var q=Er(E(A)?A:A.contextElement||U(r.elements.popper),p,b);var P=I(r.elements.reference);var S=qr({reference:P,element:M,strategy:"absolute",placement:v});var W=jr(Object.assign({},M,S));var B=y===c?W:P;var T={top:q.top-B.top+j.top,bottom:B.bottom-q.bottom+j.bottom,left:q.left-B.left+j.left,right:B.right-q.right+j.right};var R=r.modifiersData.offset;if(y===c&&R){var H=R[v];Object.keys(T).forEach((function(r){var a=[n,e].indexOf(r)>=0?1:-1;var i=[t,e].indexOf(r)>=0?"y":"x";T[r]+=H[i]*a}))}return T}function Sr(r,t){if(t===void 0){t={}}var e=t,n=e.placement,a=e.boundary,i=e.rootBoundary,f=e.padding,v=e.flipVariations,u=e.allowedAutoPlacements,s=u===void 0?p:u;var c=nr(n);var l=c?v?d:d.filter((function(r){return nr(r)===c})):o;var h=l.filter((function(r){return s.indexOf(r)>=0}));if(h.length===0){h=l}var b=h.reduce((function(t,e){t[e]=Pr(r,{placement:e,boundary:a,rootBoundary:i,padding:f})[T(e)];return t}),{});return Object.keys(b).sort((function(r,t){return b[r]-b[t]}))}function Wr(r){if(T(r)===i){return[]}var t=dr(r);return[hr(r),t,hr(t)]}function Br(r){var o=r.state,v=r.options,u=r.name;if(o.modifiersData[u]._skip){return}var s=v.mainAxis,c=s===void 0?true:s,l=v.altAxis,d=l===void 0?true:l,p=v.fallbackPlacements,h=v.padding,b=v.boundary,m=v.rootBoundary,y=v.altBoundary,w=v.flipVariations,x=w===void 0?true:w,O=v.allowedAutoPlacements;var g=o.options.placement;var j=T(g);var k=j===g;var M=p||(k||!x?[dr(g)]:Wr(g));var A=[g].concat(M).reduce((function(r,t){return r.concat(T(t)===i?Sr(o,{placement:t,boundary:b,rootBoundary:m,padding:h,flipVariations:x,allowedAutoPlacements:O}):t)}),[]);var E=o.rects.reference;var q=o.rects.popper;var P=new Map;var S=true;var W=A[0];for(var B=0;B<A.length;B++){var R=A[B];var H=T(R);var L=nr(R)===f;var I=[t,e].indexOf(H)>=0;var C=I?"width":"height";var F=Pr(o,{placement:R,boundary:b,rootBoundary:m,altBoundary:y,padding:h});var z=I?L?n:a:L?e:t;if(E[C]>q[C]){z=dr(z)}var D=dr(z);var U=[];if(c){U.push(F[H]<=0)}if(d){U.push(F[z]<=0,F[D]<=0)}if(U.every((function(r){return r}))){W=R;S=false;break}P.set(R,U)}if(S){var V=x?3:1;var $=function r(t){var e=A.find((function(r){var e=P.get(r);if(e){return e.slice(0,t).every((function(r){return r}))}}));if(e){W=e;return"break"}};for(var _=V;_>0;_--){var G=$(_);if(G==="break")break}}if(o.placement!==W){o.modifiersData[u]._skip=true;o.placement=W;o.reset=true}}const Tr={name:"flip",enabled:true,phase:"main",fn:Br,requiresIfExists:["offset"],data:{_skip:false}};function Rr(r,t,e){if(e===void 0){e={x:0,y:0}}return{top:r.top-t.height-e.y,right:r.right-t.width+e.x,bottom:r.bottom-t.height+e.y,left:r.left-t.width-e.x}}function Hr(r){return[t,n,e,a].some((function(t){return r[t]>=0}))}function Lr(r){var t=r.state,e=r.name;var n=t.rects.reference;var a=t.rects.popper;var i=t.modifiersData.preventOverflow;var o=Pr(t,{elementContext:"reference"});var f=Pr(t,{altBoundary:true});var v=Rr(o,n);var u=Rr(f,a,i);var s=Hr(v);var c=Hr(u);t.modifiersData[e]={referenceClippingOffsets:v,popperEscapeOffsets:u,isReferenceHidden:s,hasPopperEscaped:c};t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":s,"data-popper-escaped":c})}const Ir={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Lr};function Cr(r,e,i){var o=T(r);var f=[a,t].indexOf(o)>=0?-1:1;var v=typeof i==="function"?i(Object.assign({},e,{placement:r})):i,u=v[0],s=v[1];u=u||0;s=(s||0)*f;return[a,n].indexOf(o)>=0?{x:s,y:u}:{x:u,y:s}}function Fr(r){var t=r.state,e=r.options,n=r.name;var a=e.offset,i=a===void 0?[0,0]:a;var o=p.reduce((function(r,e){r[e]=Cr(e,t.rects,i);return r}),{});var f=o[t.placement],v=f.x,u=f.y;if(t.modifiersData.popperOffsets!=null){t.modifiersData.popperOffsets.x+=v;t.modifiersData.popperOffsets.y+=u}t.modifiersData[n]=o}const zr={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Fr};function Dr(r){var t=r.state,e=r.name;t.modifiersData[e]=qr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Ur={name:"popperOffsets",enabled:true,phase:"read",fn:Dr,data:{}};function Vr(r){return r==="x"?"y":"x"}function $r(r){var i=r.state,o=r.options,v=r.name;var u=o.mainAxis,s=u===void 0?true:u,c=o.altAxis,l=c===void 0?false:c,d=o.boundary,p=o.rootBoundary,h=o.altBoundary,b=o.padding,m=o.tether,y=m===void 0?true:m,w=o.tetherOffset,x=w===void 0?0:w;var O=Pr(i,{boundary:d,rootBoundary:p,padding:b,altBoundary:h});var g=T(i.placement);var j=nr(i.placement);var k=!j;var M=J(g);var A=Vr(M);var E=i.modifiersData.popperOffsets;var q=i.rects.reference;var P=i.rects.popper;var S=typeof x==="function"?x(Object.assign({},i.rects,{placement:i.placement})):x;var W=typeof S==="number"?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S);var B=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null;var L={x:0,y:0};if(!E){return}if(s){var I;var F=M==="y"?t:a;var z=M==="y"?e:n;var D=M==="y"?"height":"width";var U=E[M];var V=U+O[F];var $=U-O[z];var _=y?-P[D]/2:0;var X=j===f?q[D]:P[D];var Y=j===f?-P[D]:-q[D];var Z=i.elements.arrow;var rr=y&&Z?C(Z):{width:0,height:0};var tr=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:Q();var er=tr[F];var ar=tr[z];var ir=K(0,q[D],rr[D]);var or=k?q[D]/2-_-ir-er-W.mainAxis:X-ir-er-W.mainAxis;var fr=k?-q[D]/2+_+ir+ar+W.mainAxis:Y+ir+ar+W.mainAxis;var vr=i.elements.arrow&&G(i.elements.arrow);var ur=vr?M==="y"?vr.clientTop||0:vr.clientLeft||0:0;var sr=(I=B==null?void 0:B[M])!=null?I:0;var cr=U+or-sr-ur;var lr=U+fr-sr;var dr=K(y?H(V,cr):V,U,y?R($,lr):$);E[M]=dr;L[M]=dr-U}if(l){var pr;var hr=M==="x"?t:a;var br=M==="x"?e:n;var mr=E[A];var yr=A==="y"?"height":"width";var wr=mr+O[hr];var xr=mr-O[br];var Or=[t,a].indexOf(g)!==-1;var gr=(pr=B==null?void 0:B[A])!=null?pr:0;var jr=Or?wr:mr-q[yr]-P[yr]-gr+W.altAxis;var kr=Or?mr+q[yr]+P[yr]-gr-W.altAxis:xr;var Mr=y&&Or?N(jr,mr,kr):K(y?jr:wr,mr,y?kr:xr);E[A]=Mr;L[A]=Mr-mr}i.modifiersData[v]=L}const _r={name:"preventOverflow",enabled:true,phase:"main",fn:$r,requiresIfExists:["offset"]};function Gr(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function Jr(r){if(r===A(r)||!q(r)){return br(r)}else{return Gr(r)}}function Kr(r){var t=r.getBoundingClientRect();var e=L(t.width)/r.offsetWidth||1;var n=L(t.height)/r.offsetHeight||1;return e!==1||n!==1}function Nr(r,t,e){if(e===void 0){e=false}var n=q(t);var a=q(t)&&Kr(t);var i=U(t);var o=I(r,a);var f={scrollLeft:0,scrollTop:0};var v={x:0,y:0};if(n||!n&&!e){if(M(t)!=="body"||xr(i)){f=Jr(t)}if(q(t)){v=I(t,true);v.x+=t.clientLeft;v.y+=t.clientTop}else if(i){v.x=mr(i)}}return{x:o.left+f.scrollLeft-v.x,y:o.top+f.scrollTop-v.y,width:o.width,height:o.height}}function Qr(r){var t=new Map;var e=new Set;var n=[];r.forEach((function(r){t.set(r.name,r)}));function a(r){e.add(r.name);var i=[].concat(r.requires||[],r.requiresIfExists||[]);i.forEach((function(r){if(!e.has(r)){var n=t.get(r);if(n){a(n)}}}));n.push(r)}r.forEach((function(r){if(!e.has(r.name)){a(r)}}));return n}function Xr(r){var t=Qr(r);return k.reduce((function(r,e){return r.concat(t.filter((function(r){return r.phase===e})))}),[])}function Yr(r){var t;return function(){if(!t){t=new Promise((function(e){Promise.resolve().then((function(){t=undefined;e(r())}))}))}return t}}function Zr(r){var t=r.reduce((function(r,t){var e=r[t.name];r[t.name]=e?Object.assign({},e,t,{options:Object.assign({},e.options,t.options),data:Object.assign({},e.data,t.data)}):t;return r}),{});return Object.keys(t).map((function(r){return t[r]}))}var rt={placement:"bottom",modifiers:[],strategy:"absolute"};function tt(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}return!t.some((function(r){return!(r&&typeof r.getBoundingClientRect==="function")}))}function et(r){if(r===void 0){r={}}var t=r,e=t.defaultModifiers,n=e===void 0?[]:e,a=t.defaultOptions,i=a===void 0?rt:a;return function r(t,e,a){if(a===void 0){a=i}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},rt,i),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}};var f=[];var v=false;var u={state:o,setOptions:function r(a){var f=typeof a==="function"?a(o.options):a;c();o.options=Object.assign({},i,o.options,f);o.scrollParents={reference:E(t)?gr(t):t.contextElement?gr(t.contextElement):[],popper:gr(e)};var v=Xr(Zr([].concat(n,o.options.modifiers)));o.orderedModifiers=v.filter((function(r){return r.enabled}));s();return u.update()},forceUpdate:function r(){if(v){return}var t=o.elements,e=t.reference,n=t.popper;if(!tt(e,n)){return}o.rects={reference:Nr(e,G(n),o.options.strategy==="fixed"),popper:C(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(r){return o.modifiersData[r.name]=Object.assign({},r.data)}));for(var a=0;a<o.orderedModifiers.length;a++){if(o.reset===true){o.reset=false;a=-1;continue}var i=o.orderedModifiers[a],f=i.fn,s=i.options,c=s===void 0?{}:s,l=i.name;if(typeof f==="function"){o=f({state:o,options:c,name:l,instance:u})||o}}},update:Yr((function(){return new Promise((function(r){u.forceUpdate();r(o)}))})),destroy:function r(){c();v=true}};if(!tt(t,e)){return u}u.setOptions(a).then((function(r){if(!v&&a.onFirstUpdate){a.onFirstUpdate(r)}}));function s(){o.orderedModifiers.forEach((function(r){var t=r.name,e=r.options,n=e===void 0?{}:e,a=r.effect;if(typeof a==="function"){var i=a({state:o,name:t,instance:u,options:n});var v=function r(){};f.push(i||v)}}))}function c(){f.forEach((function(r){return r()}));f=[]}return u}}var nt=[cr,Ur,vr,B,zr,Tr,_r,er,Ir];var at=et({defaultModifiers:nt});class it{constructor(r,t,e){this.handleTransitionEnd=this.handleTransitionEnd.bind(this);this.anchor=r;this.popover=t;this.options=Object.assign({skidding:0,distance:0,placement:"bottom-start",strategy:"absolute",transitionElement:this.popover,visibleClass:"popover-visible",onAfterShow:()=>{},onAfterHide:()=>{},onTransitionEnd:()=>{}},e);this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(r){const t=r.target;if(t===this.options.transitionElement){this.options.onTransitionEnd.call(this,r);if(this.isVisible===false&&!this.popover.hidden){this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.options.onAfterHide.call(this)}}}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd);if(this.popper){this.popper.destroy();this.popper=null}}show(){this.isVisible=true;this.popover.hidden=false;r((()=>this.popover.classList.add(this.options.visibleClass)));if(this.popper){this.popper.destroy()}const t=this.options.placement.includes("center")?"top":this.options.placement;this.popper=at(this.anchor,this.popover,{placement:t,strategy:this.options.strategy,modifiers:[{name:"sameWidth",enabled:true,fn:({state:r})=>{r.styles.popper.minWidth=`${r.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]},{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{padding:5,offset:({reference:r,placement:t,popper:e})=>{if(this.options.placement!=="center")return[this.options.skidding,this.options.distance];return[this.options.skidding,["top","bottom"].includes(t)?-r.height-(e.height-r.height)/2:-r.width-(e.width-r.width)/2]}}}]});this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:true});requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=false;this.popover.classList.remove(this.options.visibleClass)}setOptions(r){this.options=Object.assign(this.options,r);this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass);const t=this.options.placement.includes("center")?"top":this.options.placement;if(this.popper){this.popper.setOptions({placement:t,strategy:this.options.strategy});requestAnimationFrame((()=>this.popper.update()))}}}export{it as P};
5
- //# sourceMappingURL=p-178c34e3.js.map
4
+ import{r}from"./p-289aa03f.js";var t="top";var e="bottom";var n="right";var a="left";var i="auto";var o=[t,e,n,a];var f="start";var v="end";var u="clippingParents";var s="viewport";var c="popper";var l="reference";var d=o.reduce((function(r,t){return r.concat([t+"-"+f,t+"-"+v])}),[]);var p=[].concat(o,[i]).reduce((function(r,t){return r.concat([t,t+"-"+f,t+"-"+v])}),[]);var h="beforeRead";var b="read";var m="afterRead";var y="beforeMain";var w="main";var x="afterMain";var O="beforeWrite";var g="write";var j="afterWrite";var k=[h,b,m,y,w,x,O,g,j];function M(r){return r?(r.nodeName||"").toLowerCase():null}function A(r){if(r==null){return window}if(r.toString()!=="[object Window]"){var t=r.ownerDocument;return t?t.defaultView||window:window}return r}function E(r){var t=A(r).Element;return r instanceof t||r instanceof Element}function q(r){var t=A(r).HTMLElement;return r instanceof t||r instanceof HTMLElement}function P(r){if(typeof ShadowRoot==="undefined"){return false}var t=A(r).ShadowRoot;return r instanceof t||r instanceof ShadowRoot}function S(r){var t=r.state;Object.keys(t.elements).forEach((function(r){var e=t.styles[r]||{};var n=t.attributes[r]||{};var a=t.elements[r];if(!q(a)||!M(a)){return}Object.assign(a.style,e);Object.keys(n).forEach((function(r){var t=n[r];if(t===false){a.removeAttribute(r)}else{a.setAttribute(r,t===true?"":t)}}))}))}function W(r){var t=r.state;var e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,e.popper);t.styles=e;if(t.elements.arrow){Object.assign(t.elements.arrow.style,e.arrow)}return function(){Object.keys(t.elements).forEach((function(r){var n=t.elements[r];var a=t.attributes[r]||{};var i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:e[r]);var o=i.reduce((function(r,t){r[t]="";return r}),{});if(!q(n)||!M(n)){return}Object.assign(n.style,o);Object.keys(a).forEach((function(r){n.removeAttribute(r)}))}))}}const B={name:"applyStyles",enabled:true,phase:"write",fn:S,effect:W,requires:["computeStyles"]};function T(r){return r.split("-")[0]}var R=Math.max;var H=Math.min;var L=Math.round;function I(r,t){if(t===void 0){t=false}var e=r.getBoundingClientRect();var n=1;var a=1;if(q(r)&&t){var i=r.offsetHeight;var o=r.offsetWidth;if(o>0){n=L(e.width)/o||1}if(i>0){a=L(e.height)/i||1}}return{width:e.width/n,height:e.height/a,top:e.top/a,right:e.right/n,bottom:e.bottom/a,left:e.left/n,x:e.left/n,y:e.top/a}}function C(r){var t=I(r);var e=r.offsetWidth;var n=r.offsetHeight;if(Math.abs(t.width-e)<=1){e=t.width}if(Math.abs(t.height-n)<=1){n=t.height}return{x:r.offsetLeft,y:r.offsetTop,width:e,height:n}}function F(r,t){var e=t.getRootNode&&t.getRootNode();if(r.contains(t)){return true}else if(e&&P(e)){var n=t;do{if(n&&r.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function z(r){return A(r).getComputedStyle(r)}function D(r){return["table","td","th"].indexOf(M(r))>=0}function U(r){return((E(r)?r.ownerDocument:r.document)||window.document).documentElement}function V(r){if(M(r)==="html"){return r}return r.assignedSlot||r.parentNode||(P(r)?r.host:null)||U(r)}function $(r){if(!q(r)||z(r).position==="fixed"){return null}return r.offsetParent}function _(r){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;var e=navigator.userAgent.indexOf("Trident")!==-1;if(e&&q(r)){var n=z(r);if(n.position==="fixed"){return null}}var a=V(r);if(P(a)){a=a.host}while(q(a)&&["html","body"].indexOf(M(a))<0){var i=z(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none"){return a}else{a=a.parentNode}}return null}function G(r){var t=A(r);var e=$(r);while(e&&D(e)&&z(e).position==="static"){e=$(e)}if(e&&(M(e)==="html"||M(e)==="body"&&z(e).position==="static")){return t}return e||_(r)||t}function J(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function K(r,t,e){return R(r,H(t,e))}function N(r,t,e){var n=K(r,t,e);return n>e?e:n}function Q(){return{top:0,right:0,bottom:0,left:0}}function X(r){return Object.assign({},Q(),r)}function Y(r,t){return t.reduce((function(t,e){t[e]=r;return t}),{})}var Z=function r(t,e){t=typeof t==="function"?t(Object.assign({},e.rects,{placement:e.placement})):t;return X(typeof t!=="number"?t:Y(t,o))};function rr(r){var i;var o=r.state,f=r.name,v=r.options;var u=o.elements.arrow;var s=o.modifiersData.popperOffsets;var c=T(o.placement);var l=J(c);var d=[a,n].indexOf(c)>=0;var p=d?"height":"width";if(!u||!s){return}var h=Z(v.padding,o);var b=C(u);var m=l==="y"?t:a;var y=l==="y"?e:n;var w=o.rects.reference[p]+o.rects.reference[l]-s[l]-o.rects.popper[p];var x=s[l]-o.rects.reference[l];var O=G(u);var g=O?l==="y"?O.clientHeight||0:O.clientWidth||0:0;var j=w/2-x/2;var k=h[m];var M=g-b[p]-h[y];var A=g/2-b[p]/2+j;var E=K(k,A,M);var q=l;o.modifiersData[f]=(i={},i[q]=E,i.centerOffset=E-A,i)}function tr(r){var t=r.state,e=r.options;var n=e.element,a=n===void 0?"[data-popper-arrow]":n;if(a==null){return}if(typeof a==="string"){a=t.elements.popper.querySelector(a);if(!a){return}}if(!F(t.elements.popper,a)){return}t.elements.arrow=a}const er={name:"arrow",enabled:true,phase:"main",fn:rr,effect:tr,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function nr(r){return r.split("-")[1]}var ar={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ir(r){var t=r.x,e=r.y;var n=window;var a=n.devicePixelRatio||1;return{x:L(t*a)/a||0,y:L(e*a)/a||0}}function or(r){var i;var o=r.popper,f=r.popperRect,u=r.placement,s=r.variation,c=r.offsets,l=r.position,d=r.gpuAcceleration,p=r.adaptive,h=r.roundOffsets,b=r.isFixed;var m=c.x,y=m===void 0?0:m,w=c.y,x=w===void 0?0:w;var O=typeof h==="function"?h({x:y,y:x}):{x:y,y:x};y=O.x;x=O.y;var g=c.hasOwnProperty("x");var j=c.hasOwnProperty("y");var k=a;var M=t;var E=window;if(p){var q=G(o);var P="clientHeight";var S="clientWidth";if(q===A(o)){q=U(o);if(z(q).position!=="static"&&l==="absolute"){P="scrollHeight";S="scrollWidth"}}q=q;if(u===t||(u===a||u===n)&&s===v){M=e;var W=b&&q===E&&E.visualViewport?E.visualViewport.height:q[P];x-=W-f.height;x*=d?1:-1}if(u===a||(u===t||u===e)&&s===v){k=n;var B=b&&q===E&&E.visualViewport?E.visualViewport.width:q[S];y-=B-f.width;y*=d?1:-1}}var T=Object.assign({position:l},p&&ar);var R=h===true?ir({x:y,y:x}):{x:y,y:x};y=R.x;x=R.y;if(d){var H;return Object.assign({},T,(H={},H[M]=j?"0":"",H[k]=g?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",H))}return Object.assign({},T,(i={},i[M]=j?x+"px":"",i[k]=g?y+"px":"",i.transform="",i))}function fr(r){var t=r.state,e=r.options;var n=e.gpuAcceleration,a=n===void 0?true:n,i=e.adaptive,o=i===void 0?true:i,f=e.roundOffsets,v=f===void 0?true:f;var u={placement:T(t.placement),variation:nr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};if(t.modifiersData.popperOffsets!=null){t.styles.popper=Object.assign({},t.styles.popper,or(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:v})))}if(t.modifiersData.arrow!=null){t.styles.arrow=Object.assign({},t.styles.arrow,or(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:v})))}t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const vr={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:fr,data:{}};var ur={passive:true};function sr(r){var t=r.state,e=r.instance,n=r.options;var a=n.scroll,i=a===void 0?true:a,o=n.resize,f=o===void 0?true:o;var v=A(t.elements.popper);var u=[].concat(t.scrollParents.reference,t.scrollParents.popper);if(i){u.forEach((function(r){r.addEventListener("scroll",e.update,ur)}))}if(f){v.addEventListener("resize",e.update,ur)}return function(){if(i){u.forEach((function(r){r.removeEventListener("scroll",e.update,ur)}))}if(f){v.removeEventListener("resize",e.update,ur)}}}const cr={name:"eventListeners",enabled:true,phase:"write",fn:function r(){},effect:sr,data:{}};var lr={left:"right",right:"left",bottom:"top",top:"bottom"};function dr(r){return r.replace(/left|right|bottom|top/g,(function(r){return lr[r]}))}var pr={start:"end",end:"start"};function hr(r){return r.replace(/start|end/g,(function(r){return pr[r]}))}function br(r){var t=A(r);var e=t.pageXOffset;var n=t.pageYOffset;return{scrollLeft:e,scrollTop:n}}function mr(r){return I(U(r)).left+br(r).scrollLeft}function yr(r){var t=A(r);var e=U(r);var n=t.visualViewport;var a=e.clientWidth;var i=e.clientHeight;var o=0;var f=0;if(n){a=n.width;i=n.height;if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){o=n.offsetLeft;f=n.offsetTop}}return{width:a,height:i,x:o+mr(r),y:f}}function wr(r){var t;var e=U(r);var n=br(r);var a=(t=r.ownerDocument)==null?void 0:t.body;var i=R(e.scrollWidth,e.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0);var o=R(e.scrollHeight,e.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0);var f=-n.scrollLeft+mr(r);var v=-n.scrollTop;if(z(a||e).direction==="rtl"){f+=R(e.clientWidth,a?a.clientWidth:0)-i}return{width:i,height:o,x:f,y:v}}function xr(r){var t=z(r),e=t.overflow,n=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+a+n)}function Or(r){if(["html","body","#document"].indexOf(M(r))>=0){return r.ownerDocument.body}if(q(r)&&xr(r)){return r}return Or(V(r))}function gr(r,t){var e;if(t===void 0){t=[]}var n=Or(r);var a=n===((e=r.ownerDocument)==null?void 0:e.body);var i=A(n);var o=a?[i].concat(i.visualViewport||[],xr(n)?n:[]):n;var f=t.concat(o);return a?f:f.concat(gr(V(o)))}function jr(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function kr(r){var t=I(r);t.top=t.top+r.clientTop;t.left=t.left+r.clientLeft;t.bottom=t.top+r.clientHeight;t.right=t.left+r.clientWidth;t.width=r.clientWidth;t.height=r.clientHeight;t.x=t.left;t.y=t.top;return t}function Mr(r,t){return t===s?jr(yr(r)):E(t)?kr(t):jr(wr(U(r)))}function Ar(r){var t=gr(V(r));var e=["absolute","fixed"].indexOf(z(r).position)>=0;var n=e&&q(r)?G(r):r;if(!E(n)){return[]}return t.filter((function(r){return E(r)&&F(r,n)&&M(r)!=="body"}))}function Er(r,t,e){var n=t==="clippingParents"?Ar(r):[].concat(t);var a=[].concat(n,[e]);var i=a[0];var o=a.reduce((function(t,e){var n=Mr(r,e);t.top=R(n.top,t.top);t.right=H(n.right,t.right);t.bottom=H(n.bottom,t.bottom);t.left=R(n.left,t.left);return t}),Mr(r,i));o.width=o.right-o.left;o.height=o.bottom-o.top;o.x=o.left;o.y=o.top;return o}function qr(r){var i=r.reference,o=r.element,u=r.placement;var s=u?T(u):null;var c=u?nr(u):null;var l=i.x+i.width/2-o.width/2;var d=i.y+i.height/2-o.height/2;var p;switch(s){case t:p={x:l,y:i.y-o.height};break;case e:p={x:l,y:i.y+i.height};break;case n:p={x:i.x+i.width,y:d};break;case a:p={x:i.x-o.width,y:d};break;default:p={x:i.x,y:i.y}}var h=s?J(s):null;if(h!=null){var b=h==="y"?"height":"width";switch(c){case f:p[h]=p[h]-(i[b]/2-o[b]/2);break;case v:p[h]=p[h]+(i[b]/2-o[b]/2);break}}return p}function Pr(r,a){if(a===void 0){a={}}var i=a,f=i.placement,v=f===void 0?r.placement:f,d=i.boundary,p=d===void 0?u:d,h=i.rootBoundary,b=h===void 0?s:h,m=i.elementContext,y=m===void 0?c:m,w=i.altBoundary,x=w===void 0?false:w,O=i.padding,g=O===void 0?0:O;var j=X(typeof g!=="number"?g:Y(g,o));var k=y===c?l:c;var M=r.rects.popper;var A=r.elements[x?k:y];var q=Er(E(A)?A:A.contextElement||U(r.elements.popper),p,b);var P=I(r.elements.reference);var S=qr({reference:P,element:M,strategy:"absolute",placement:v});var W=jr(Object.assign({},M,S));var B=y===c?W:P;var T={top:q.top-B.top+j.top,bottom:B.bottom-q.bottom+j.bottom,left:q.left-B.left+j.left,right:B.right-q.right+j.right};var R=r.modifiersData.offset;if(y===c&&R){var H=R[v];Object.keys(T).forEach((function(r){var a=[n,e].indexOf(r)>=0?1:-1;var i=[t,e].indexOf(r)>=0?"y":"x";T[r]+=H[i]*a}))}return T}function Sr(r,t){if(t===void 0){t={}}var e=t,n=e.placement,a=e.boundary,i=e.rootBoundary,f=e.padding,v=e.flipVariations,u=e.allowedAutoPlacements,s=u===void 0?p:u;var c=nr(n);var l=c?v?d:d.filter((function(r){return nr(r)===c})):o;var h=l.filter((function(r){return s.indexOf(r)>=0}));if(h.length===0){h=l}var b=h.reduce((function(t,e){t[e]=Pr(r,{placement:e,boundary:a,rootBoundary:i,padding:f})[T(e)];return t}),{});return Object.keys(b).sort((function(r,t){return b[r]-b[t]}))}function Wr(r){if(T(r)===i){return[]}var t=dr(r);return[hr(r),t,hr(t)]}function Br(r){var o=r.state,v=r.options,u=r.name;if(o.modifiersData[u]._skip){return}var s=v.mainAxis,c=s===void 0?true:s,l=v.altAxis,d=l===void 0?true:l,p=v.fallbackPlacements,h=v.padding,b=v.boundary,m=v.rootBoundary,y=v.altBoundary,w=v.flipVariations,x=w===void 0?true:w,O=v.allowedAutoPlacements;var g=o.options.placement;var j=T(g);var k=j===g;var M=p||(k||!x?[dr(g)]:Wr(g));var A=[g].concat(M).reduce((function(r,t){return r.concat(T(t)===i?Sr(o,{placement:t,boundary:b,rootBoundary:m,padding:h,flipVariations:x,allowedAutoPlacements:O}):t)}),[]);var E=o.rects.reference;var q=o.rects.popper;var P=new Map;var S=true;var W=A[0];for(var B=0;B<A.length;B++){var R=A[B];var H=T(R);var L=nr(R)===f;var I=[t,e].indexOf(H)>=0;var C=I?"width":"height";var F=Pr(o,{placement:R,boundary:b,rootBoundary:m,altBoundary:y,padding:h});var z=I?L?n:a:L?e:t;if(E[C]>q[C]){z=dr(z)}var D=dr(z);var U=[];if(c){U.push(F[H]<=0)}if(d){U.push(F[z]<=0,F[D]<=0)}if(U.every((function(r){return r}))){W=R;S=false;break}P.set(R,U)}if(S){var V=x?3:1;var $=function r(t){var e=A.find((function(r){var e=P.get(r);if(e){return e.slice(0,t).every((function(r){return r}))}}));if(e){W=e;return"break"}};for(var _=V;_>0;_--){var G=$(_);if(G==="break")break}}if(o.placement!==W){o.modifiersData[u]._skip=true;o.placement=W;o.reset=true}}const Tr={name:"flip",enabled:true,phase:"main",fn:Br,requiresIfExists:["offset"],data:{_skip:false}};function Rr(r,t,e){if(e===void 0){e={x:0,y:0}}return{top:r.top-t.height-e.y,right:r.right-t.width+e.x,bottom:r.bottom-t.height+e.y,left:r.left-t.width-e.x}}function Hr(r){return[t,n,e,a].some((function(t){return r[t]>=0}))}function Lr(r){var t=r.state,e=r.name;var n=t.rects.reference;var a=t.rects.popper;var i=t.modifiersData.preventOverflow;var o=Pr(t,{elementContext:"reference"});var f=Pr(t,{altBoundary:true});var v=Rr(o,n);var u=Rr(f,a,i);var s=Hr(v);var c=Hr(u);t.modifiersData[e]={referenceClippingOffsets:v,popperEscapeOffsets:u,isReferenceHidden:s,hasPopperEscaped:c};t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":s,"data-popper-escaped":c})}const Ir={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Lr};function Cr(r,e,i){var o=T(r);var f=[a,t].indexOf(o)>=0?-1:1;var v=typeof i==="function"?i(Object.assign({},e,{placement:r})):i,u=v[0],s=v[1];u=u||0;s=(s||0)*f;return[a,n].indexOf(o)>=0?{x:s,y:u}:{x:u,y:s}}function Fr(r){var t=r.state,e=r.options,n=r.name;var a=e.offset,i=a===void 0?[0,0]:a;var o=p.reduce((function(r,e){r[e]=Cr(e,t.rects,i);return r}),{});var f=o[t.placement],v=f.x,u=f.y;if(t.modifiersData.popperOffsets!=null){t.modifiersData.popperOffsets.x+=v;t.modifiersData.popperOffsets.y+=u}t.modifiersData[n]=o}const zr={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Fr};function Dr(r){var t=r.state,e=r.name;t.modifiersData[e]=qr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Ur={name:"popperOffsets",enabled:true,phase:"read",fn:Dr,data:{}};function Vr(r){return r==="x"?"y":"x"}function $r(r){var i=r.state,o=r.options,v=r.name;var u=o.mainAxis,s=u===void 0?true:u,c=o.altAxis,l=c===void 0?false:c,d=o.boundary,p=o.rootBoundary,h=o.altBoundary,b=o.padding,m=o.tether,y=m===void 0?true:m,w=o.tetherOffset,x=w===void 0?0:w;var O=Pr(i,{boundary:d,rootBoundary:p,padding:b,altBoundary:h});var g=T(i.placement);var j=nr(i.placement);var k=!j;var M=J(g);var A=Vr(M);var E=i.modifiersData.popperOffsets;var q=i.rects.reference;var P=i.rects.popper;var S=typeof x==="function"?x(Object.assign({},i.rects,{placement:i.placement})):x;var W=typeof S==="number"?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S);var B=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null;var L={x:0,y:0};if(!E){return}if(s){var I;var F=M==="y"?t:a;var z=M==="y"?e:n;var D=M==="y"?"height":"width";var U=E[M];var V=U+O[F];var $=U-O[z];var _=y?-P[D]/2:0;var X=j===f?q[D]:P[D];var Y=j===f?-P[D]:-q[D];var Z=i.elements.arrow;var rr=y&&Z?C(Z):{width:0,height:0};var tr=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:Q();var er=tr[F];var ar=tr[z];var ir=K(0,q[D],rr[D]);var or=k?q[D]/2-_-ir-er-W.mainAxis:X-ir-er-W.mainAxis;var fr=k?-q[D]/2+_+ir+ar+W.mainAxis:Y+ir+ar+W.mainAxis;var vr=i.elements.arrow&&G(i.elements.arrow);var ur=vr?M==="y"?vr.clientTop||0:vr.clientLeft||0:0;var sr=(I=B==null?void 0:B[M])!=null?I:0;var cr=U+or-sr-ur;var lr=U+fr-sr;var dr=K(y?H(V,cr):V,U,y?R($,lr):$);E[M]=dr;L[M]=dr-U}if(l){var pr;var hr=M==="x"?t:a;var br=M==="x"?e:n;var mr=E[A];var yr=A==="y"?"height":"width";var wr=mr+O[hr];var xr=mr-O[br];var Or=[t,a].indexOf(g)!==-1;var gr=(pr=B==null?void 0:B[A])!=null?pr:0;var jr=Or?wr:mr-q[yr]-P[yr]-gr+W.altAxis;var kr=Or?mr+q[yr]+P[yr]-gr-W.altAxis:xr;var Mr=y&&Or?N(jr,mr,kr):K(y?jr:wr,mr,y?kr:xr);E[A]=Mr;L[A]=Mr-mr}i.modifiersData[v]=L}const _r={name:"preventOverflow",enabled:true,phase:"main",fn:$r,requiresIfExists:["offset"]};function Gr(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function Jr(r){if(r===A(r)||!q(r)){return br(r)}else{return Gr(r)}}function Kr(r){var t=r.getBoundingClientRect();var e=L(t.width)/r.offsetWidth||1;var n=L(t.height)/r.offsetHeight||1;return e!==1||n!==1}function Nr(r,t,e){if(e===void 0){e=false}var n=q(t);var a=q(t)&&Kr(t);var i=U(t);var o=I(r,a);var f={scrollLeft:0,scrollTop:0};var v={x:0,y:0};if(n||!n&&!e){if(M(t)!=="body"||xr(i)){f=Jr(t)}if(q(t)){v=I(t,true);v.x+=t.clientLeft;v.y+=t.clientTop}else if(i){v.x=mr(i)}}return{x:o.left+f.scrollLeft-v.x,y:o.top+f.scrollTop-v.y,width:o.width,height:o.height}}function Qr(r){var t=new Map;var e=new Set;var n=[];r.forEach((function(r){t.set(r.name,r)}));function a(r){e.add(r.name);var i=[].concat(r.requires||[],r.requiresIfExists||[]);i.forEach((function(r){if(!e.has(r)){var n=t.get(r);if(n){a(n)}}}));n.push(r)}r.forEach((function(r){if(!e.has(r.name)){a(r)}}));return n}function Xr(r){var t=Qr(r);return k.reduce((function(r,e){return r.concat(t.filter((function(r){return r.phase===e})))}),[])}function Yr(r){var t;return function(){if(!t){t=new Promise((function(e){Promise.resolve().then((function(){t=undefined;e(r())}))}))}return t}}function Zr(r){var t=r.reduce((function(r,t){var e=r[t.name];r[t.name]=e?Object.assign({},e,t,{options:Object.assign({},e.options,t.options),data:Object.assign({},e.data,t.data)}):t;return r}),{});return Object.keys(t).map((function(r){return t[r]}))}var rt={placement:"bottom",modifiers:[],strategy:"absolute"};function tt(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}return!t.some((function(r){return!(r&&typeof r.getBoundingClientRect==="function")}))}function et(r){if(r===void 0){r={}}var t=r,e=t.defaultModifiers,n=e===void 0?[]:e,a=t.defaultOptions,i=a===void 0?rt:a;return function r(t,e,a){if(a===void 0){a=i}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},rt,i),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}};var f=[];var v=false;var u={state:o,setOptions:function r(a){var f=typeof a==="function"?a(o.options):a;c();o.options=Object.assign({},i,o.options,f);o.scrollParents={reference:E(t)?gr(t):t.contextElement?gr(t.contextElement):[],popper:gr(e)};var v=Xr(Zr([].concat(n,o.options.modifiers)));o.orderedModifiers=v.filter((function(r){return r.enabled}));s();return u.update()},forceUpdate:function r(){if(v){return}var t=o.elements,e=t.reference,n=t.popper;if(!tt(e,n)){return}o.rects={reference:Nr(e,G(n),o.options.strategy==="fixed"),popper:C(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(r){return o.modifiersData[r.name]=Object.assign({},r.data)}));for(var a=0;a<o.orderedModifiers.length;a++){if(o.reset===true){o.reset=false;a=-1;continue}var i=o.orderedModifiers[a],f=i.fn,s=i.options,c=s===void 0?{}:s,l=i.name;if(typeof f==="function"){o=f({state:o,options:c,name:l,instance:u})||o}}},update:Yr((function(){return new Promise((function(r){u.forceUpdate();r(o)}))})),destroy:function r(){c();v=true}};if(!tt(t,e)){return u}u.setOptions(a).then((function(r){if(!v&&a.onFirstUpdate){a.onFirstUpdate(r)}}));function s(){o.orderedModifiers.forEach((function(r){var t=r.name,e=r.options,n=e===void 0?{}:e,a=r.effect;if(typeof a==="function"){var i=a({state:o,name:t,instance:u,options:n});var v=function r(){};f.push(i||v)}}))}function c(){f.forEach((function(r){return r()}));f=[]}return u}}var nt=[cr,Ur,vr,B,zr,Tr,_r,er,Ir];var at=et({defaultModifiers:nt});class it{constructor(r,t,e){this.handleTransitionEnd=this.handleTransitionEnd.bind(this);this.anchor=r;this.popover=t;this.options=Object.assign({skidding:0,distance:0,placement:"bottom-start",strategy:"absolute",transitionElement:this.popover,visibleClass:"popover-visible",onAfterShow:()=>{},onAfterHide:()=>{},onTransitionEnd:()=>{}},e);this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(r){const t=r.target;if(t===this.options.transitionElement){this.options.onTransitionEnd.call(this,r);if(this.isVisible===false&&!this.popover.hidden){this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.options.onAfterHide.call(this)}}}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd);if(this.popper){this.popper.destroy();this.popper=null}}show(){this.isVisible=true;this.popover.hidden=false;r((()=>this.popover.classList.add(this.options.visibleClass)));if(this.popper){this.popper.destroy()}const t=this.options.placement.includes("center")?"top":this.options.placement;this.popper=at(this.anchor,this.popover,{placement:t,strategy:this.options.strategy,modifiers:[{name:"sameWidth",enabled:true,fn:({state:r})=>{r.styles.popper.minWidth=`${r.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]},{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{padding:5,offset:({reference:r})=>{if(this.options.placement!=="center")return[this.options.skidding,this.options.distance];return[this.options.skidding,(r.height+1)*-1]}}}]});this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:true});requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=false;this.popover.classList.remove(this.options.visibleClass)}setOptions(r){this.options=Object.assign(this.options,r);this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass);const t=this.options.placement.includes("center")?"top":this.options.placement;if(this.popper){this.popper.setOptions({placement:t,strategy:this.options.strategy});requestAnimationFrame((()=>this.popper.update()))}}}export{it as P};
5
+ //# sourceMappingURL=p-3de7735c.js.map