@aquera/nile-elements 2.0.3 → 2.0.5

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 (88) hide show
  1. package/README.md +21 -0
  2. package/demo/nxtgen-classes.css +596 -2
  3. package/demo/nxtgen-dark.css +240 -21
  4. package/demo/nxtgen-properties.css +2 -2
  5. package/demo/nxtgen-utilities.css +598 -4
  6. package/demo/nxtgen.css +57 -2
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.esm.js +1 -1
  9. package/dist/index.js +458 -317
  10. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  11. package/dist/nile-combobox/nile-combobox.cjs.js.map +1 -1
  12. package/dist/nile-combobox/nile-combobox.css.cjs.js +1 -1
  13. package/dist/nile-combobox/nile-combobox.css.cjs.js.map +1 -1
  14. package/dist/nile-combobox/nile-combobox.css.esm.js +28 -15
  15. package/dist/nile-combobox/nile-combobox.esm.js +11 -8
  16. package/dist/nile-combobox/portal-manager.cjs.js +1 -1
  17. package/dist/nile-combobox/portal-manager.cjs.js.map +1 -1
  18. package/dist/nile-combobox/portal-manager.esm.js +1 -1
  19. package/dist/nile-combobox/renderer.cjs.js +1 -1
  20. package/dist/nile-combobox/renderer.cjs.js.map +1 -1
  21. package/dist/nile-combobox/renderer.esm.js +31 -43
  22. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  23. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  24. package/dist/nile-empty-state/nile-empty-state.css.cjs.js +1 -1
  25. package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -1
  26. package/dist/nile-empty-state/nile-empty-state.css.esm.js +129 -6
  27. package/dist/nile-empty-state/nile-empty-state.esm.js +45 -31
  28. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  29. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  30. package/dist/nile-pagination/nile-pagination.esm.js +25 -25
  31. package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +1 -1
  32. package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -1
  33. package/dist/nile-wysiwyg-editor/engine/index.cjs.js +1 -1
  34. package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -1
  35. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +1 -1
  36. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -1
  37. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -1
  38. package/dist/nile-wysiwyg-editor/index.cjs.js +1 -1
  39. package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
  40. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
  41. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +1 -1
  42. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
  43. package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +1 -1
  44. package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
  45. package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +1 -1
  46. package/dist/src/nile-combobox/nile-combobox.css.js +28 -15
  47. package/dist/src/nile-combobox/nile-combobox.css.js.map +1 -1
  48. package/dist/src/nile-combobox/nile-combobox.js +49 -10
  49. package/dist/src/nile-combobox/nile-combobox.js.map +1 -1
  50. package/dist/src/nile-combobox/portal-manager.js +2 -22
  51. package/dist/src/nile-combobox/portal-manager.js.map +1 -1
  52. package/dist/src/nile-combobox/renderer.d.ts +2 -3
  53. package/dist/src/nile-combobox/renderer.js +14 -45
  54. package/dist/src/nile-combobox/renderer.js.map +1 -1
  55. package/dist/src/nile-empty-state/nile-empty-state.css.js +127 -4
  56. package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -1
  57. package/dist/src/nile-empty-state/nile-empty-state.d.ts +35 -5
  58. package/dist/src/nile-empty-state/nile-empty-state.js +159 -42
  59. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  60. package/dist/src/nile-empty-state/nile-empty-state.test.d.ts +1 -0
  61. package/dist/src/nile-empty-state/nile-empty-state.test.js +186 -15
  62. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -1
  63. package/dist/src/nile-pagination/nile-pagination.js +5 -5
  64. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  65. package/dist/src/version.d.ts +1 -1
  66. package/dist/src/version.js +11 -3
  67. package/dist/src/version.js.map +1 -1
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/dist/version.cjs.js +1 -1
  70. package/dist/version.cjs.js.map +1 -1
  71. package/dist/version.esm.js +1 -1
  72. package/dist/xml-09119317.cjs.js +2 -0
  73. package/dist/xml-09119317.cjs.js.map +1 -0
  74. package/dist/{xml-25c4108a.esm.js → xml-9bf771b3.esm.js} +1 -1
  75. package/package.json +2 -1
  76. package/scripts/replace-version.cjs +12 -10
  77. package/src/nile-combobox/nile-combobox.css.ts +28 -15
  78. package/src/nile-combobox/nile-combobox.ts +61 -12
  79. package/src/nile-combobox/portal-manager.ts +4 -22
  80. package/src/nile-combobox/renderer.ts +26 -69
  81. package/src/nile-empty-state/nile-empty-state.css.ts +127 -4
  82. package/src/nile-empty-state/nile-empty-state.test.ts +192 -15
  83. package/src/nile-empty-state/nile-empty-state.ts +195 -34
  84. package/src/nile-pagination/nile-pagination.ts +5 -5
  85. package/src/version.ts +11 -2
  86. package/vscode-html-custom-data.json +79 -16
  87. package/dist/xml-90fd974e.cjs.js +0 -2
  88. package/dist/xml-90fd974e.cjs.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as o,state as e,property as n,customElement as t}from"lit/decorators.js";import{classMap as c}from"lit/directives/class-map.js";import{ifDefined as r}from"lit/directives/if-defined.js";import{createRef as l,ref as m}from"lit/directives/ref.js";import{s as h}from"./nile-combobox.css.esm.js";import"../nile-icon/index.esm.js";import"../nile-popup/nile-popup.esm.js";import"../nile-tag/nile-tag.esm.js";import"../nile-option/nile-option.esm.js";import"../nile-checkbox/nile-checkbox.esm.js";import"../nile-loader/nile-loader.esm.js";import{s as a,a as p}from"../internal/animate.esm.js";import{d as g}from"../internal/default-value.esm.js";import{F as v}from"../internal/form.esm.js";import{s as j,g as d}from"../utilities/animation-registry.esm.js";import{H as u}from"../internal/slot.esm.js";import{w as b}from"../internal/event.esm.js";import{w as f}from"../internal/watch.esm.js";import{N as y}from"../internal/nile-element.esm.js";import{V as w}from"../index-802939a8.esm.js";import{C as x}from"./selection-manager.esm.js";import{C as _}from"./search-manager.esm.js";import{C as k}from"./renderer.esm.js";import{C as $}from"./portal-manager.esm.js";import{h as S,g as C,f as A,a as B}from"./group-utils.esm.js";import{V as O}from"../utilities/visibility-manager.esm.js";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/activity-logs.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/adjustment.esm.js";import"../nile-icon/icons/svg/admin-users.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/analytics.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/apps.esm.js";import"../nile-icon/icons/svg/aquera.esm.js";import"../nile-icon/icons/svg/aquerasupport.esm.js";import"../nile-icon/icons/svg/area.esm.js";import"../nile-icon/icons/svg/array-loop.esm.js";import"../nile-icon/icons/svg/array-of-boolean.esm.js";import"../nile-icon/icons/svg/array-of-integer.esm.js";import"../nile-icon/icons/svg/array-of-string.esm.js";import"../nile-icon/icons/svg/array.esm.js";import"../nile-icon/icons/svg/arrayofobject.esm.js";import"../nile-icon/icons/svg/arrow-left-small.esm.js";import"../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow-right-small.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrow_left_small.esm.js";import"../nile-icon/icons/svg/arrow_right_small.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attribute.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/automation-details.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/cell-loader.esm.js";import"../nile-icon/icons/svg/certification.esm.js";import"../nile-icon/icons/svg/check-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/class.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/code-generator.esm.js";import"../nile-icon/icons/svg/collapse-1.esm.js";import"../nile-icon/icons/svg/collapse.esm.js";import"../nile-icon/icons/svg/color.esm.js";import"../nile-icon/icons/svg/column-02.esm.js";import"../nile-icon/icons/svg/column-add.esm.js";import"../nile-icon/icons/svg/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/comment.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/components-icon.esm.js";import"../nile-icon/icons/svg/componenttext.esm.js";import"../nile-icon/icons/svg/condition.esm.js";import"../nile-icon/icons/svg/conditions.esm.js";import"../nile-icon/icons/svg/connect.esm.js";import"../nile-icon/icons/svg/connectivitymap.esm.js";import"../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../nile-icon/icons/svg/copy-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/cost-analytics.esm.js";import"../nile-icon/icons/svg/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/dashboard.esm.js";import"../nile-icon/icons/svg/data-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-json.esm.js";import"../nile-icon/icons/svg/data-type-null.esm.js";import"../nile-icon/icons/svg/data-type-number.esm.js";import"../nile-icon/icons/svg/data-type-string.esm.js";import"../nile-icon/icons/svg/data-type-unknown.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.esm.js";import"../nile-icon/icons/svg/default-cursor.esm.js";import"../nile-icon/icons/svg/default.esm.js";import"../nile-icon/icons/svg/delegate.esm.js";import"../nile-icon/icons/svg/delete.esm.js";import"../nile-icon/icons/svg/delete_history.esm.js";import"../nile-icon/icons/svg/deligateduser.esm.js";import"../nile-icon/icons/svg/directory.esm.js";import"../nile-icon/icons/svg/disabled.esm.js";import"../nile-icon/icons/svg/dock-to-right.esm.js";import"../nile-icon/icons/svg/document-new.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/doublearrowleft.esm.js";import"../nile-icon/icons/svg/doublearrowright.esm.js";import"../nile-icon/icons/svg/dowhileloop.esm.js";import"../nile-icon/icons/svg/downgrade.esm.js";import"../nile-icon/icons/svg/download.esm.js";import"../nile-icon/icons/svg/drag.esm.js";import"../nile-icon/icons/svg/edit-write.esm.js";import"../nile-icon/icons/svg/else.esm.js";import"../nile-icon/icons/svg/email.esm.js";import"../nile-icon/icons/svg/enable.esm.js";import"../nile-icon/icons/svg/entities.esm.js";import"../nile-icon/icons/svg/entitlement.esm.js";import"../nile-icon/icons/svg/error.esm.js";import"../nile-icon/icons/svg/escalate.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-03.esm.js";import"../nile-icon/icons/svg/expand-06.esm.js";import"../nile-icon/icons/svg/expand-2.esm.js";import"../nile-icon/icons/svg/expand.esm.js";import"../nile-icon/icons/svg/eye-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow.esm.js";import"../nile-icon/icons/svg/flowmap-agent.esm.js";import"../nile-icon/icons/svg/flowmap-application.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-undo.esm.js";import"../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../nile-icon/icons/svg/flowmap.esm.js";import"../nile-icon/icons/svg/folder.esm.js";import"../nile-icon/icons/svg/folder_delete.esm.js";import"../nile-icon/icons/svg/foreach.esm.js";import"../nile-icon/icons/svg/format_align_justify.esm.js";import"../nile-icon/icons/svg/format_align_left.esm.js";import"../nile-icon/icons/svg/format_align_middle.esm.js";import"../nile-icon/icons/svg/format_align_right.esm.js";import"../nile-icon/icons/svg/format_bold.esm.js";import"../nile-icon/icons/svg/format_clear.esm.js";import"../nile-icon/icons/svg/format_italic.esm.js";import"../nile-icon/icons/svg/format_list_bulleted.esm.js";import"../nile-icon/icons/svg/format_list_numbered.esm.js";import"../nile-icon/icons/svg/format_underline.esm.js";import"../nile-icon/icons/svg/frequency.esm.js";import"../nile-icon/icons/svg/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/function.esm.js";import"../nile-icon/icons/svg/funnel-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goal.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide-01.esm.js";import"../nile-icon/icons/svg/guide.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-child-workflow.esm.js";import"../nile-icon/icons/svg/header-flows.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/headphones-01.esm.js";import"../nile-icon/icons/svg/help.esm.js";import"../nile-icon/icons/svg/helpandsupport.esm.js";import"../nile-icon/icons/svg/helpers.esm.js";import"../nile-icon/icons/svg/helpsupport.esm.js";import"../nile-icon/icons/svg/history.esm.js";import"../nile-icon/icons/svg/horizontal_bar_chart.esm.js";import"../nile-icon/icons/svg/identitygraph.esm.js";import"../nile-icon/icons/svg/identityledger.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/ifelsenew.esm.js";import"../nile-icon/icons/svg/image.esm.js";import"../nile-icon/icons/svg/image_2.esm.js";import"../nile-icon/icons/svg/immutable.esm.js";import"../nile-icon/icons/svg/info-icon.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/inner-union.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/intersection.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/keyword.esm.js";import"../nile-icon/icons/svg/kill.esm.js";import"../nile-icon/icons/svg/laptop-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/left-union.esm.js";import"../nile-icon/icons/svg/leftpointarrow.esm.js";import"../nile-icon/icons/svg/life-buoy-01.esm.js";import"../nile-icon/icons/svg/line.esm.js";import"../nile-icon/icons/svg/link.esm.js";import"../nile-icon/icons/svg/link_2.esm.js";import"../nile-icon/icons/svg/list-attribute.esm.js";import"../nile-icon/icons/svg/list.esm.js";import"../nile-icon/icons/svg/loader.esm.js";import"../nile-icon/icons/svg/loading.esm.js";import"../nile-icon/icons/svg/loading2.esm.js";import"../nile-icon/icons/svg/lock.esm.js";import"../nile-icon/icons/svg/log-info.esm.js";import"../nile-icon/icons/svg/log.esm.js";import"../nile-icon/icons/svg/logo-white.esm.js";import"../nile-icon/icons/svg/logout.esm.js";import"../nile-icon/icons/svg/logs.esm.js";import"../nile-icon/icons/svg/loop.esm.js";import"../nile-icon/icons/svg/manage.esm.js";import"../nile-icon/icons/svg/map.esm.js";import"../nile-icon/icons/svg/mapcreate.esm.js";import"../nile-icon/icons/svg/mapdont.esm.js";import"../nile-icon/icons/svg/maponcreate.esm.js";import"../nile-icon/icons/svg/maponupdate.esm.js";import"../nile-icon/icons/svg/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/marker_pin_02.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/menu_close.esm.js";import"../nile-icon/icons/svg/menu_open.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/metric.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/move-application.esm.js";import"../nile-icon/icons/svg/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/my-integration.esm.js";import"../nile-icon/icons/svg/new-calendar.esm.js";import"../nile-icon/icons/svg/ng-action.esm.js";import"../nile-icon/icons/svg/ng-activity.esm.js";import"../nile-icon/icons/svg/ng-alert-circle.esm.js";import"../nile-icon/icons/svg/ng-alert-triangle.esm.js";import"../nile-icon/icons/svg/ng-align-center.esm.js";import"../nile-icon/icons/svg/ng-annotation-x.esm.js";import"../nile-icon/icons/svg/ng-arrow-down.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-down.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-right.esm.js";import"../nile-icon/icons/svg/ng-arrow-up.esm.js";import"../nile-icon/icons/svg/ng-bar-chart-12.esm.js";import"../nile-icon/icons/svg/ng-bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/ng-battery-charging.esm.js";import"../nile-icon/icons/svg/ng-bell-01.esm.js";import"../nile-icon/icons/svg/ng-bell-ringing-04.esm.js";import"../nile-icon/icons/svg/ng-bold-01.esm.js";import"../nile-icon/icons/svg/ng-boolean.esm.js";import"../nile-icon/icons/svg/ng-briefcase-01.esm.js";import"../nile-icon/icons/svg/ng-building-01.esm.js";import"../nile-icon/icons/svg/ng-building-05.esm.js";import"../nile-icon/icons/svg/ng-building-07.esm.js";import"../nile-icon/icons/svg/ng-button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/ng-button-loading-blue.esm.js";import"../nile-icon/icons/svg/ng-calendar-plus-02.esm.js";import"../nile-icon/icons/svg/ng-calendar.esm.js";import"../nile-icon/icons/svg/ng-check-circle-broken.esm.js";import"../nile-icon/icons/svg/ng-check-circle.esm.js";import"../nile-icon/icons/svg/ng-check-done-01.esm.js";import"../nile-icon/icons/svg/ng-check-square-broken.esm.js";import"../nile-icon/icons/svg/ng-check.esm.js";import"../nile-icon/icons/svg/ng-chevron-down.esm.js";import"../nile-icon/icons/svg/ng-chevron-left-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-left.esm.js";import"../nile-icon/icons/svg/ng-chevron-right-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-right.esm.js";import"../nile-icon/icons/svg/ng-chevron-selector-vertical.esm.js";import"../nile-icon/icons/svg/ng-chevron-up-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-up.esm.js";import"../nile-icon/icons/svg/ng-clock-refresh.esm.js";import"../nile-icon/icons/svg/ng-columns-02.esm.js";import"../nile-icon/icons/svg/ng-copy-03.esm.js";import"../nile-icon/icons/svg/ng-dataflow-02.esm.js";import"../nile-icon/icons/svg/ng-dataflow-04.esm.js";import"../nile-icon/icons/svg/ng-dots-grid.esm.js";import"../nile-icon/icons/svg/ng-dots-vertical.esm.js";import"../nile-icon/icons/svg/ng-download-01.esm.js";import"../nile-icon/icons/svg/ng-dropdown.esm.js";import"../nile-icon/icons/svg/ng-edit-02.esm.js";import"../nile-icon/icons/svg/ng-edit-05.esm.js";import"../nile-icon/icons/svg/ng-expand-06.esm.js";import"../nile-icon/icons/svg/ng-eye-off.esm.js";import"../nile-icon/icons/svg/ng-eye.esm.js";import"../nile-icon/icons/svg/ng-file-02.esm.js";import"../nile-icon/icons/svg/ng-file-06.esm.js";import"../nile-icon/icons/svg/ng-file-check-02.esm.js";import"../nile-icon/icons/svg/ng-file-question-03.esm.js";import"../nile-icon/icons/svg/ng-filter-lines.esm.js";import"../nile-icon/icons/svg/ng-folder-code.esm.js";import"../nile-icon/icons/svg/ng-grid-01.esm.js";import"../nile-icon/icons/svg/ng-hash.esm.js";import"../nile-icon/icons/svg/ng-help-circle.esm.js";import"../nile-icon/icons/svg/ng-home-line.esm.js";import"../nile-icon/icons/svg/ng-image-03.esm.js";import"../nile-icon/icons/svg/ng-image-user-left.esm.js";import"../nile-icon/icons/svg/ng-info-circle.esm.js";import"../nile-icon/icons/svg/ng-italic-01.esm.js";import"../nile-icon/icons/svg/ng-key-01.esm.js";import"../nile-icon/icons/svg/ng-layers-three-01.esm.js";import"../nile-icon/icons/svg/ng-layers-three-02.esm.js";import"../nile-icon/icons/svg/ng-lightbulb-05.esm.js";import"../nile-icon/icons/svg/ng-list.esm.js";import"../nile-icon/icons/svg/ng-lock-03.esm.js";import"../nile-icon/icons/svg/ng-log-out-01.esm.js";import"../nile-icon/icons/svg/ng-mail-01.esm.js";import"../nile-icon/icons/svg/ng-mail-04.esm.js";import"../nile-icon/icons/svg/ng-marker-pin-01.esm.js";import"../nile-icon/icons/svg/ng-menu-05.esm.js";import"../nile-icon/icons/svg/ng-message-text-square-01.esm.js";import"../nile-icon/icons/svg/ng-minimize-02.esm.js";import"../nile-icon/icons/svg/ng-minus.esm.js";import"../nile-icon/icons/svg/ng-monitor.esm.js";import"../nile-icon/icons/svg/ng-number.esm.js";import"../nile-icon/icons/svg/ng-pie-chart-03.esm.js";import"../nile-icon/icons/svg/ng-plus.esm.js";import"../nile-icon/icons/svg/ng-power-01.esm.js";import"../nile-icon/icons/svg/ng-refresh-cw-01.esm.js";import"../nile-icon/icons/svg/ng-refresh-cw-02.esm.js";import"../nile-icon/icons/svg/ng-rocket-02.esm.js";import"../nile-icon/icons/svg/ng-rows-01.esm.js";import"../nile-icon/icons/svg/ng-search-lg.esm.js";import"../nile-icon/icons/svg/ng-send-01.esm.js";import"../nile-icon/icons/svg/ng-server.esm.js";import"../nile-icon/icons/svg/ng-settings-01.esm.js";import"../nile-icon/icons/svg/ng-share-04.esm.js";import"../nile-icon/icons/svg/ng-share-06.esm.js";import"../nile-icon/icons/svg/ng-shield-tick.esm.js";import"../nile-icon/icons/svg/ng-shopping-bag-01.esm.js";import"../nile-icon/icons/svg/ng-stars-02.esm.js";import"../nile-icon/icons/svg/ng-string.esm.js";import"../nile-icon/icons/svg/ng-switch-horizontal-01.esm.js";import"../nile-icon/icons/svg/ng-tag.esm.js";import"../nile-icon/icons/svg/ng-trash-01.esm.js";import"../nile-icon/icons/svg/ng-trash-03.esm.js";import"../nile-icon/icons/svg/ng-trend-up-01.esm.js";import"../nile-icon/icons/svg/ng-underline-01.esm.js";import"../nile-icon/icons/svg/ng-upload-01.esm.js";import"../nile-icon/icons/svg/ng-upload-cloud-02.esm.js";import"../nile-icon/icons/svg/ng-user-01.esm.js";import"../nile-icon/icons/svg/ng-user-check-02-1.esm.js";import"../nile-icon/icons/svg/ng-user-check-02.esm.js";import"../nile-icon/icons/svg/ng-user-plus-02.esm.js";import"../nile-icon/icons/svg/ng-user-right-01.esm.js";import"../nile-icon/icons/svg/ng-users-01.esm.js";import"../nile-icon/icons/svg/ng-wifi.esm.js";import"../nile-icon/icons/svg/ng-x-circle.esm.js";import"../nile-icon/icons/svg/ng-x-close.esm.js";import"../nile-icon/icons/svg/ng-x-square.esm.js";import"../nile-icon/icons/svg/ng-zap.esm.js";import"../nile-icon/icons/svg/nightingale-chart.esm.js";import"../nile-icon/icons/svg/nlp.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/note.esm.js";import"../nile-icon/icons/svg/notification.esm.js";import"../nile-icon/icons/svg/notificationadd.esm.js";import"../nile-icon/icons/svg/notificationadded.esm.js";import"../nile-icon/icons/svg/null.esm.js";import"../nile-icon/icons/svg/number.esm.js";import"../nile-icon/icons/svg/numberinput.esm.js";import"../nile-icon/icons/svg/numbers.esm.js";import"../nile-icon/icons/svg/object.esm.js";import"../nile-icon/icons/svg/operators.esm.js";import"../nile-icon/icons/svg/options.esm.js";import"../nile-icon/icons/svg/orchestration-solid.esm.js";import"../nile-icon/icons/svg/orchestration.esm.js";import"../nile-icon/icons/svg/organization.esm.js";import"../nile-icon/icons/svg/other.esm.js";import"../nile-icon/icons/svg/otherdetails.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.esm.js";import"../nile-icon/icons/svg/paperclip.esm.js";import"../nile-icon/icons/svg/partner.esm.js";import"../nile-icon/icons/svg/partners.esm.js";import"../nile-icon/icons/svg/pause.esm.js";import"../nile-icon/icons/svg/pencil.esm.js";import"../nile-icon/icons/svg/peopletask.esm.js";import"../nile-icon/icons/svg/persistent-variable.esm.js";import"../nile-icon/icons/svg/persistentdata.esm.js";import"../nile-icon/icons/svg/phone.esm.js";import"../nile-icon/icons/svg/pie.esm.js";import"../nile-icon/icons/svg/pin.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/play_pause.esm.js";import"../nile-icon/icons/svg/plus.esm.js";import"../nile-icon/icons/svg/pluscircle.esm.js";import"../nile-icon/icons/svg/plussquare.esm.js";import"../nile-icon/icons/svg/policy.esm.js";import"../nile-icon/icons/svg/potentialmatch.esm.js";import"../nile-icon/icons/svg/poweron.esm.js";import"../nile-icon/icons/svg/predefined.esm.js";import"../nile-icon/icons/svg/preview.esm.js";import"../nile-icon/icons/svg/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo-02.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh.esm.js";import"../nile-icon/icons/svg/reminder.esm.js";import"../nile-icon/icons/svg/resize.esm.js";import"../nile-icon/icons/svg/resource.esm.js";import"../nile-icon/icons/svg/resource_analysis.esm.js";import"../nile-icon/icons/svg/resource_graph.esm.js";import"../nile-icon/icons/svg/restart_alt.esm.js";import"../nile-icon/icons/svg/revocation-cycle.esm.js";import"../nile-icon/icons/svg/right-join.esm.js";import"../nile-icon/icons/svg/right-union.esm.js";import"../nile-icon/icons/svg/rocket-02.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/savings.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-steps-icon.esm.js";import"../nile-icon/icons/svg/search.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.esm.js";import"../nile-icon/icons/svg/sort_ascending.esm.js";import"../nile-icon/icons/svg/sort_descending.esm.js";import"../nile-icon/icons/svg/sortascending.esm.js";import"../nile-icon/icons/svg/sortdescending.esm.js";import"../nile-icon/icons/svg/sortdown.esm.js";import"../nile-icon/icons/svg/sortup.esm.js";import"../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/step_into.esm.js";import"../nile-icon/icons/svg/step_out.esm.js";import"../nile-icon/icons/svg/step_over.esm.js";import"../nile-icon/icons/svg/stop.esm.js";import"../nile-icon/icons/svg/storybook.esm.js";import"../nile-icon/icons/svg/string.esm.js";import"../nile-icon/icons/svg/stringinput.esm.js";import"../nile-icon/icons/svg/stringletters.esm.js";import"../nile-icon/icons/svg/support.esm.js";import"../nile-icon/icons/svg/swap.esm.js";import"../nile-icon/icons/svg/switch.esm.js";import"../nile-icon/icons/svg/sync.esm.js";import"../nile-icon/icons/svg/table.esm.js";import"../nile-icon/icons/svg/tag.esm.js";import"../nile-icon/icons/svg/tag_cloud.esm.js";import"../nile-icon/icons/svg/test.esm.js";import"../nile-icon/icons/svg/text-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/thumbsdown.esm.js";import"../nile-icon/icons/svg/thumbsup.esm.js";import"../nile-icon/icons/svg/thumsup.esm.js";import"../nile-icon/icons/svg/tick.esm.js";import"../nile-icon/icons/svg/timeupdate.esm.js";import"../nile-icon/icons/svg/timezone.esm.js";import"../nile-icon/icons/svg/transaction_monitor.esm.js";import"../nile-icon/icons/svg/travel_map.esm.js";import"../nile-icon/icons/svg/trend-up-02.esm.js";import"../nile-icon/icons/svg/trigger.esm.js";import"../nile-icon/icons/svg/undo-02.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/union.esm.js";import"../nile-icon/icons/svg/unlink.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updown.esm.js";import"../nile-icon/icons/svg/upgrade.esm.js";import"../nile-icon/icons/svg/upload.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user.esm.js";import"../nile-icon/icons/svg/useractive.esm.js";import"../nile-icon/icons/svg/useradd.esm.js";import"../nile-icon/icons/svg/useraddgroup.esm.js";import"../nile-icon/icons/svg/userfind.esm.js";import"../nile-icon/icons/svg/userimport.esm.js";import"../nile-icon/icons/svg/userimportgroup.esm.js";import"../nile-icon/icons/svg/usermixed.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-plus.esm.js";import"../nile-icon/icons/svg/users-up.esm.js";import"../nile-icon/icons/svg/users.esm.js";import"../nile-icon/icons/svg/userupdate.esm.js";import"../nile-icon/icons/svg/validationexpression.esm.js";import"../nile-icon/icons/svg/variable-global.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new.esm.js";import"../nile-icon/icons/svg/variable.esm.js";import"../nile-icon/icons/svg/video.esm.js";import"../nile-icon/icons/svg/view.esm.js";import"../nile-icon/icons/svg/virtualserver.esm.js";import"../nile-icon/icons/svg/virtualservergroup.esm.js";import"../nile-icon/icons/svg/visibility.esm.js";import"../nile-icon/icons/svg/visibilityoff.esm.js";import"../nile-icon/icons/svg/visual_builder.esm.js";import"../nile-icon/icons/svg/wait.esm.js";import"../nile-icon/icons/svg/warning-01.esm.js";import"../nile-icon/icons/svg/warning.esm.js";import"../nile-icon/icons/svg/whileloop.esm.js";import"../nile-icon/icons/svg/workflow-application.esm.js";import"../nile-icon/icons/svg/workflow-text.esm.js";import"../nile-icon/icons/svg/workflow.esm.js";import"../nile-icon/icons/svg/writeexpression.esm.js";import"../nile-icon/aliasmap.esm.js";import"../floating-ui.dom-cc9126da.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"../nile-tag/nile-tag.css.esm.js";import"../nile-icon-button/nile-icon-button.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"lit/static-html.js";import"../nile-option/nile-option.css.esm.js";import"../nile-checkbox/nile-checkbox.css.esm.js";import"lit/directives/live.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";import"../nile-loader/nile-loader.css.esm.js";import"lit/directives/unsafe-html.js";import"lit/directives/repeat.js";import"../nile-select/portal-utils.esm.js";let z=class extends y{constructor(){super(...arguments),this.formControlController=new v(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new u(this,"help-text","label"),this.portalManager=new $(this),this.searchManager=new _,this.scrollElementRef=l(),this.virtualizerCtrl=new w(this,{getScrollElement:()=>this.scrollElementRef.value??null,count:0,estimateSize:()=>38,overscan:5}),this.hScrollElementRef=l(),this.hVirtualizerCtrl=new w(this,{getScrollElement:()=>this.hScrollElementRef.value??null,count:0,estimateSize:()=>160,horizontal:!0,overscan:3}),this.scrolling=!1,this.keyboardActiveIndex=-1,this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.filteredData=[],this.filteredRows=[],this.originalData=[],this.showNoResults=!1,this.showListbox=!1,this.searchValue="",this.showSelectedOnly=!1,this.selectAllChecked=!1,this.selectAllIndeterminate=!1,this.stickyHeaderIndex=-1,this.name="",this.data=[],this.value="",this.defaultValue="",this.size="medium",this.placeholder="Type to search...",this.multiple=!1,this.label="",this.required=!1,this.disabled=!1,this.open=!1,this.clearable=!1,this.loading=!1,this.optionsLoading=!1,this.disableLocalSearch=!1,this.allowCustomValue=!1,this.acceptUserInput=!1,this.addToSuggestions=!1,this.strict=!1,this.maxTagsVisible=3,this.tagLayout="single-line",this.showFooter=!0,this.selectAllEnabled=!1,this.stickyGroupHeader=!0,this.portal=!1,this.hoist=!1,this.placement="bottom",this.form="",this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.filled=!1,this.pill=!1,this.noResultsMessage="No result found",this.noResultsSubtitle="Clear search or change filter",this.noDataMessage="No data available",this.autoCompleteOptions=[],this.debounceMs=300,this.allowHtmlLabel=!0,this.enableVisibilityEffect=!1,this.enableTabClose=!1,this.noWidthSync=!1,this.gridColumns=1,this.gridRows=0,this.gridColumnWidth=160,this.lastVirtualizerGrouped=!1}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage??""}connectedCallback(){super.connectedCallback(),this.open=!1,this.setupBoundHandlers(),this.emit("nile-init"),this.updateComplete.then((()=>{this.autoCompleteOptions.length>0&&0===this.data.length&&(this.data=[...this.autoCompleteOptions]),this.value&&this.data.length>0&&this.syncSelection()}))}disconnectedCallback(){this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.searchManager.cancelDebounce(),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0),this.portalManager.cleanupPortal()}firstUpdated(i){this.visibilityManager=new O({host:this,target:this.combobox,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view",name:this.name})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden",name:this.name})},emit:(i,s)=>this.emit(`nile-${i}`,s)})}updated(i){i.has("value")&&this.syncSelection(),this.updateVirtualizerCount()}get isHorizontalGrid(){return this.gridRows>0&&this.gridColumns<=1}get hasGroupedData(){const i=this.originalData.length>0?this.originalData:this.data;return S(i)}updateStickyHeader(i){if(!this.stickyGroupHeader||!this.hasGroupedData)return void(-1!==this.stickyHeaderIndex&&(this.stickyHeaderIndex=-1));let s=0,o=-1;for(let e=0;e<this.filteredRows.length;e++){const n=this.filteredRows[e],t="header"===n.kind?32:38;if(s>i)break;"header"===n.kind&&(o=e),s+=t}o!==this.stickyHeaderIndex&&(this.stickyHeaderIndex=o)}pruneTreeBySelection(i,s){const o=[];for(const e of i)if(e&&"object"==typeof e&&"group"===e.type&&Array.isArray(e.options)){const i=this.pruneTreeBySelection(e.options,s);i.length>0&&o.push({...e,options:i})}else s.has(String(this.getItemValue(e)))&&o.push(e);return o}get hasActiveFilter(){return!!this.searchValue||this.showSelectedOnly}renderEmptyState(){return this.hasActiveFilter?k.renderNoResults(this.noResultsMessage,this.noResultsSubtitle):k.renderNoData(this.noDataMessage)}get isBidirectionalGrid(){return this.gridRows>0&&this.gridColumns>1}get virtualRowCount(){return this.gridColumns>1?Math.ceil(this.filteredData.length/this.gridColumns):this.hasGroupedData?this.filteredRows.length:this.filteredData.length}get virtualColumnCount(){return Math.ceil(this.filteredData.length/Math.max(this.gridRows,1))}updateVirtualizerCount(){if(this.isHorizontalGrid){const i=this.hVirtualizerCtrl.getVirtualizer(),s=this.virtualColumnCount;i.options.count===s&&i.options.estimateSize(0)===this.gridColumnWidth||(i.setOptions({...i.options,count:s,estimateSize:()=>this.gridColumnWidth}),i.measure())}else{const i=this.virtualizerCtrl.getVirtualizer(),s=this.virtualRowCount,o=this.hasGroupedData,e=i.options.count!==s,n=this.lastVirtualizerGrouped!==o;if(e||n){const e=o?i=>"header"===this.filteredRows[i]?.kind?32:38:()=>38;i.setOptions({...i.options,count:s,estimateSize:e}),i.measure(),this.lastVirtualizerGrouped=o}}}getDisplayText(i){return this.renderItemConfig?.getDisplayText?this.renderItemConfig.getDisplayText(i):i?.label||i?.name||i?.toString?.()||""}getItemValue(i){return this.renderItemConfig?.getValue?this.renderItemConfig.getValue(i):i?.value??i}getSearchText(i){return this.renderItemConfig?.getSearchText?this.renderItemConfig.getSearchText(i):this.getDisplayText(i)}getItemDescription(i){return this.renderItemConfig?.getDescription?.(i)??i?.description??""}getItemPrefix(i){return this.renderItemConfig?.getPrefix?.(i)??i?.prefix??""}getItemSuffix(i){return this.renderItemConfig?.getSuffix?.(i)??i?.suffix??""}syncSelection(){const i=this.originalData.length>0?this.originalData:this.data,s=this.hasGroupedData?C(A(i)).map((i=>i.item)):i;if(this.selectedOptions=x.createOptionsFromValues(this.value,s,this.getDisplayText.bind(this),this.renderItemConfig?.getValue),this.multiple)this.displayLabel="";else{const i=this.selectedOptions[0]?.getTextLabel()??"";this.displayLabel=i,i?this.searchValue=i:this.hasFocus||(this.searchValue="")}this.updateValidity(),this.updateSelectAllState()}getSelectableData(){return this.filteredData.filter((i=>!i?.disabled))}updateSelectAllState(){if(!this.multiple)return this.selectAllChecked=!1,void(this.selectAllIndeterminate=!1);const i=this.getSelectableData();if(0===i.length)return this.selectAllChecked=!1,void(this.selectAllIndeterminate=!1);const s=Array.isArray(this.value)?this.value:[],o=new Set(s.map(String)),e=i.reduce(((i,s)=>i+(o.has(String(this.getItemValue(s)))?1:0)),0);0===e?(this.selectAllChecked=!1,this.selectAllIndeterminate=!1):e===i.length?(this.selectAllChecked=!0,this.selectAllIndeterminate=!1):(this.selectAllChecked=!1,this.selectAllIndeterminate=!0)}handleSelectAllToggle(i){if(i.stopPropagation(),i.preventDefault(),!this.multiple||!this.selectAllEnabled)return;const s=this.getSelectableData();if(0===s.length)return;const o=this.selectAllChecked||this.selectAllIndeterminate,e=Array.isArray(this.value)?[...this.value]:[],n=s.map((i=>String(this.getItemValue(i)))),t=new Set(n);let c;if(o)c=e.filter((i=>!t.has(String(i))));else{const i=new Set(e.map(String));n.forEach((s=>i.add(s))),c=Array.from(i)}this.value=c,this.searchValue="",this.syncSelection(),this.filterOptions("",!0),this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-select-all",{value:this.value,name:this.name,action:o?"deselect-all":"select-all"})}))}setupBoundHandlers(){this.handleDocumentFocusIn=i=>{if(!this.open)return;const s=i.composedPath(),o=s.includes(this),e=this.popup&&s.includes(this.popup),n=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);o||e||n||this.hide()},this.handleDocumentKeyDown=i=>{(this.open||"ArrowDown"===i.key||"ArrowUp"===i.key||"Enter"===i.key)&&this.onGlobalKeyDown(i)},this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),o=s.includes(this),e=this.popup&&s.includes(this.popup),n=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);o||e||n||this.hide()},this.handleWindowError=i=>{(i.error?.message||i.message||"").includes("Cannot read properties of null (reading 'insertBefore')")&&i.preventDefault()},this.handleWindowResize=()=>this.portalManager.updatePosition(),this.handleWindowScroll=()=>this.portalManager.updatePosition()}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),window.addEventListener("error",this.handleWindowError),this.portal&&(window.addEventListener("resize",this.handleWindowResize),window.addEventListener("scroll",this.handleWindowScroll,!0))}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),window.removeEventListener("error",this.handleWindowError),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("scroll",this.handleWindowScroll,!0)}onInputKeyDown(i){switch(i.key){case"ArrowDown":i.preventDefault(),this.open?this.moveActiveOption(this.gridColumns>1?this.gridColumns:1):this.show();break;case"ArrowUp":i.preventDefault(),this.open?this.moveActiveOption(this.gridColumns>1?-this.gridColumns:-1):this.show();break;case"ArrowRight":this.gridColumns>1&&this.open&&(i.preventDefault(),this.moveActiveOption(1));break;case"ArrowLeft":this.gridColumns>1&&this.open&&(i.preventDefault(),this.moveActiveOption(-1));break;case"Enter":i.preventDefault(),this.open?this.selectActiveOption():this.searchValue.trim()&&(this.acceptUserInput||this.allowCustomValue)?this.addCustomValue(this.searchValue.trim()):this.show();break;case"Escape":this.open&&(i.preventDefault(),i.stopPropagation(),this.hide());break;case"Home":this.open&&(i.preventDefault(),this.setActiveOption(0));break;case"End":this.open&&(i.preventDefault(),this.setActiveOption(this.filteredData.length-1));break;case"Backspace":if(this.multiple&&""===this.searchValue&&this.selectedOptions.length>0){const i=this.selectedOptions[this.selectedOptions.length-1];this.removeTag(i)}break;case"Tab":this.multiple&&this.acceptUserInput&&this.searchValue.trim()&&this.addCustomValue(this.searchValue.trim()),this.open&&this.hide()}}onGlobalKeyDown(i){"Escape"===i.key&&this.open&&(i.preventDefault(),i.stopPropagation(),this.hide(),this.inputElement?.focus({preventScroll:!0}))}getVisibleOptions(){const i=this.portal?this.portalManager.portalContainerElement:this.shadowRoot;return i?i.querySelectorAll("nile-option:not([disabled])"):[]}moveActiveOption(i){const s=this.getVisibleOptions();if(!s.length)return;let o=this.keyboardActiveIndex+i;o<0&&(o=s.length-1),o>=s.length&&(o=0),this.setActiveOption(o)}setActiveOption(i){const s=this.getVisibleOptions();s.length&&(s.forEach(((s,o)=>{const e=s;o===i?(e.setAttribute("aria-current","true"),e.classList.add("combobox__option--active"),e.scrollIntoView?.({block:"nearest"})):(e.removeAttribute("aria-current"),e.classList.remove("combobox__option--active"))})),this.keyboardActiveIndex=i)}selectActiveOption(){const i=this.getVisibleOptions();if(this.keyboardActiveIndex>=0&&this.keyboardActiveIndex<i.length){const s=i[this.keyboardActiveIndex];s&&!s.disabled&&this.handleOptionSelection(s.value)}else this.searchValue.trim()&&(this.allowCustomValue||this.acceptUserInput)&&this.addCustomValue(this.searchValue.trim())}onInputChange(i){i.stopPropagation()}onInputHandler(i){const s=i.target;this.searchValue=s.value,this.open||this.show(),this.emit("nile-input",{value:this.searchValue,name:this.name}),this.disableLocalSearch?this.searchManager.debounceSearch((i=>this.emit("nile-search",{query:i,name:this.name})),this.searchValue,this.debounceMs):this.filterOptions(this.searchValue),this.keyboardActiveIndex=-1}filterOptions(i,s=!1){const o=this.originalData.length>0?this.originalData:this.data;if(this.hasGroupedData){let s=o;if(this.showSelectedOnly){const i=Array.isArray(this.value)?this.value:[this.value],e=new Set(i.map((i=>String(i))));s=this.pruneTreeBySelection(o,e)}const{rows:e}=B(s,i,this.getSearchText.bind(this));this.filteredRows=e,this.filteredData=C(e).map((i=>i.item)),this.showNoResults=0===this.filteredData.length;const n=this.scrollElementRef.value?.scrollTop??0;this.updateStickyHeader(n)}else{let s=o;if(this.showSelectedOnly){const i=Array.isArray(this.value)?this.value:[this.value],e=new Set(i.map((i=>String(i))));s=o.filter((i=>e.has(String(this.getItemValue(i)))))}const{filteredItems:e,showNoResults:n}=this.searchManager.filter(i,s,this.getSearchText.bind(this));this.filteredData=e,this.filteredRows=[],this.showNoResults=n}this.portalManager.resetMeasuredHeight(),s||this.resetScrollPosition(),this.updateSelectAllState(),this.requestUpdate()}onFocusIn(){this.hasFocus=!0,this.emit("nile-focus"),!this.multiple&&this.displayLabel&&(this.searchValue=this.displayLabel,this.requestUpdate(),this.updateComplete.then((()=>{this.inputElement?.select()})))}onFocusOut(){if(this.hasFocus=!1,this.emit("nile-blur"),!this.open&&!this.multiple)if(this.strict){const i=this.originalData.length>0?this.originalData:this.data,s=(this.hasGroupedData?C(A(i)).map((i=>i.item)):i).find((i=>this.getDisplayText(i).toLowerCase()===this.searchValue.toLowerCase()));if(s){const i=this.getItemValue(s);this.value!==i&&(this.value=i,this.syncSelection(),this.emit("nile-change",{value:this.value,name:this.name}))}else this.searchValue=this.displayLabel}else this.searchValue=this.displayLabel}onTriggerMouseDown(i){if(this.disabled)return;i.composedPath().some((i=>i instanceof Element&&"nile-icon-button"===i.tagName.toLowerCase()))||(i.preventDefault(),this.inputElement?.focus({preventScroll:!0}),this.open?this.hide():this.show())}onOptionClick(i){const s=i.composedPath().find((i=>"NILE-OPTION"===i.tagName));s&&!s.disabled&&this.handleOptionSelection(s.value)}handleOptionSelection(i){const s=this.value;if(this.multiple){const s=Array.isArray(this.value)?this.value:[];this.value=x.toggleMultiValue(s,i),this.searchValue="",this.syncSelection(),this.filterOptions("",!0)}else this.value=i,this.syncSelection(),this.searchValue=this.displayLabel,this.hide();JSON.stringify(this.value)!==JSON.stringify(s)&&this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})),this.inputElement?.focus({preventScroll:!0})}addCustomValue(i){if(this.addToSuggestions){const s=this.originalData.length>0?this.originalData:this.data;if(!s.some((s=>String(this.getItemValue(s))===i||this.getDisplayText(s)===i))){const o=this.renderItemConfig?.getValue?{value:i,label:i}:i;this.originalData=[...s,o],this.data=[...this.originalData],this.autoCompleteOptions=[...this.originalData],this.filteredData=[...this.originalData]}}if(this.multiple){const s=Array.isArray(this.value)?this.value:[];s.includes(i)||(this.value=[...s,i])}else this.value=i,this.hide();this.searchValue=this.multiple?"":i,this.syncSelection(),this.filterOptions(this.searchValue),this.emit("nile-tag-add",{value:i,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})}onClearClick(i){i.stopPropagation(),this.value=this.multiple?[]:"",this.searchValue="",this.syncSelection(),this.filterOptions(""),this.emit("nile-clear",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})}removeTag(i){if(this.disabled)return;const s=Array.isArray(this.value)?this.value:[];this.value=x.removeValue(s,i.value),this.syncSelection(),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:i.value}),this.emit("nile-change",{value:this.value,name:this.name})}onFooterClick(i){i.stopPropagation(),i.preventDefault()}toggleShowSelected(i){i.stopPropagation(),i.preventDefault(),0!==this.selectedOptions.length&&(this.showSelectedOnly=!this.showSelectedOnly,this.showSelectedOnly&&(this.searchValue=""),this.filterOptions(this.searchValue))}clearAll(){this.showSelectedOnly=!1,this.value=this.multiple?[]:"",this.filterOptions(""),this.syncSelection(),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-clear",{value:this.value,name:this.name}),this.resetScrollPosition()}onScroll(i){const s=i.target;if(this.updateStickyHeader(s.scrollTop),this.showSelectedOnly)return;this.emit("nile-scroll",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name}),this.scrolling||(this.scrolling=!0,this.emit("nile-scroll-start",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name})),clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout((()=>{this.scrolling=!1}),300);Math.ceil(s.scrollTop)>=Math.floor(s.scrollHeight-s.offsetHeight)&&this.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}async show(){if(!this.open&&!this.disabled)return this.open=!0,b(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,b(this,"nile-after-hide")}async handleOpenChange(){this.open&&!this.disabled?(this.visibilityManager?.setup(),this.showListbox=!0,await this.updateComplete,await this.doOpen(),this.portal&&this.portalManager.setupPortal()):(this.visibilityManager?.cleanup(),await this.doClose(),this.showListbox=!1,this.portal&&this.portalManager.cleanupPortal())}async doOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.keyboardActiveIndex=-1,0===this.originalData.length&&this.data.length>0&&(this.originalData=[...this.data]),this.hasGroupedData?this.filterOptions(this.searchValue):(this.filteredData=[...this.originalData.length>0?this.originalData:this.data],this.filteredRows=[],this.showNoResults=0===this.filteredData.length),await a(this),this.popup?.popup&&(this.popup.popup.style.visibility="hidden"),this.popup.active=!0,await new Promise((i=>requestAnimationFrame(i))),await new Promise((i=>requestAnimationFrame(i))),this.popup?.popup&&(this.popup.popup.style.visibility="");const{keyframes:i,options:s}=d(this,"combobox.show",{dir:"ltr"});await p(this.popup.popup,i,s),this.resetScrollPosition(),this.emit("nile-after-show",{value:this.value,name:this.name})}async doClose(){this.emit("nile-hide",{value:this.value,name:this.name}),this.removeOpenListeners(),await a(this);const{keyframes:i,options:s}=d(this,"combobox.hide",{dir:"ltr"});await p(this.popup.popup,i,s),this.popup.active=!1,this.popup?.popup&&(this.popup.popup.style.visibility=""),this.showSelectedOnly=!1,this.portalManager.resetMeasuredHeight(),this.multiple||(this.searchValue=this.displayLabel),this.emit("nile-after-hide",{value:this.value,name:this.name})}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){this.syncSelection(),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePosition()}handleDataChange(){this.data.length>0&&!this.showSelectedOnly&&(this.originalData=[...this.data]),this.hasGroupedData?this.filterOptions(this.searchValue):(this.filteredData=[...this.data],this.filteredRows=[]),this.syncSelection(),this.updateSelectAllState(),this.optionsLoading||this.loading||0!==this.data.length?this.data.length>0&&(this.showNoResults=!1):this.showNoResults=!0,this.portalManager.resetMeasuredHeight(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePosition(),this.requestUpdate()}handleAutoCompleteOptionsChange(){this.autoCompleteOptions.length>0&&(this.data=[...this.autoCompleteOptions])}handleSelectAllConfigChange(){this.updateSelectAllState()}handlePortalChange(){this.open&&(this.portal?this.portalManager.setupPortal():this.portalManager.cleanupPortal())}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(i){this.valueInput.setCustomValidity(i),this.formControlController.updateValidity()}focus(i){this.inputElement?.focus(i)}blur(){this.inputElement?.blur()}handleInvalid(i){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(i)}updateValidity(){this.updateComplete.then((()=>this.formControlController.updateValidity()))}async resetScrollPosition(){await this.portalManager.resetScrollPosition()}render(){const i=this.hasSlotController.test("label"),o=!!this.label||!!i,e=this.multiple?Array.isArray(this.value)&&this.value.length>0:"string"==typeof this.value&&""!==this.value,n=this.clearable&&!this.disabled&&e,t=!!this.helpText,l=!!this.errorMessage,m=!e;return s`
1
+ import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as o,state as e,property as n,customElement as t}from"lit/decorators.js";import{classMap as c}from"lit/directives/class-map.js";import{ifDefined as r}from"lit/directives/if-defined.js";import{createRef as l,ref as m}from"lit/directives/ref.js";import{s as h}from"./nile-combobox.css.esm.js";import"../nile-icon/index.esm.js";import"../nile-popup/nile-popup.esm.js";import"../nile-tag/nile-tag.esm.js";import"../nile-option/nile-option.esm.js";import"../nile-checkbox/nile-checkbox.esm.js";import"../nile-loader/nile-loader.esm.js";import{s as a,a as p}from"../internal/animate.esm.js";import{d as g}from"../internal/default-value.esm.js";import{F as v}from"../internal/form.esm.js";import{s as j,g as d}from"../utilities/animation-registry.esm.js";import{H as u}from"../internal/slot.esm.js";import{w as b}from"../internal/event.esm.js";import{w as f}from"../internal/watch.esm.js";import{N as y}from"../internal/nile-element.esm.js";import{V as w}from"../index-802939a8.esm.js";import{C as x}from"./selection-manager.esm.js";import{C as _}from"./search-manager.esm.js";import{C as k}from"./renderer.esm.js";import{C as $}from"./portal-manager.esm.js";import{h as S,g as C,f as A,a as B}from"./group-utils.esm.js";import{V as O}from"../utilities/visibility-manager.esm.js";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/activity-logs.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/adjustment.esm.js";import"../nile-icon/icons/svg/admin-users.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/analytics.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/apps.esm.js";import"../nile-icon/icons/svg/aquera.esm.js";import"../nile-icon/icons/svg/aquerasupport.esm.js";import"../nile-icon/icons/svg/area.esm.js";import"../nile-icon/icons/svg/array-loop.esm.js";import"../nile-icon/icons/svg/array-of-boolean.esm.js";import"../nile-icon/icons/svg/array-of-integer.esm.js";import"../nile-icon/icons/svg/array-of-string.esm.js";import"../nile-icon/icons/svg/array.esm.js";import"../nile-icon/icons/svg/arrayofobject.esm.js";import"../nile-icon/icons/svg/arrow-left-small.esm.js";import"../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow-right-small.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrow_left_small.esm.js";import"../nile-icon/icons/svg/arrow_right_small.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attribute.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/automation-details.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/cell-loader.esm.js";import"../nile-icon/icons/svg/certification.esm.js";import"../nile-icon/icons/svg/check-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/class.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/code-generator.esm.js";import"../nile-icon/icons/svg/collapse-1.esm.js";import"../nile-icon/icons/svg/collapse.esm.js";import"../nile-icon/icons/svg/color.esm.js";import"../nile-icon/icons/svg/column-02.esm.js";import"../nile-icon/icons/svg/column-add.esm.js";import"../nile-icon/icons/svg/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/comment.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/components-icon.esm.js";import"../nile-icon/icons/svg/componenttext.esm.js";import"../nile-icon/icons/svg/condition.esm.js";import"../nile-icon/icons/svg/conditions.esm.js";import"../nile-icon/icons/svg/connect.esm.js";import"../nile-icon/icons/svg/connectivitymap.esm.js";import"../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../nile-icon/icons/svg/copy-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/cost-analytics.esm.js";import"../nile-icon/icons/svg/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/dashboard.esm.js";import"../nile-icon/icons/svg/data-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-json.esm.js";import"../nile-icon/icons/svg/data-type-null.esm.js";import"../nile-icon/icons/svg/data-type-number.esm.js";import"../nile-icon/icons/svg/data-type-string.esm.js";import"../nile-icon/icons/svg/data-type-unknown.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.esm.js";import"../nile-icon/icons/svg/default-cursor.esm.js";import"../nile-icon/icons/svg/default.esm.js";import"../nile-icon/icons/svg/delegate.esm.js";import"../nile-icon/icons/svg/delete.esm.js";import"../nile-icon/icons/svg/delete_history.esm.js";import"../nile-icon/icons/svg/deligateduser.esm.js";import"../nile-icon/icons/svg/directory.esm.js";import"../nile-icon/icons/svg/disabled.esm.js";import"../nile-icon/icons/svg/dock-to-right.esm.js";import"../nile-icon/icons/svg/document-new.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/doublearrowleft.esm.js";import"../nile-icon/icons/svg/doublearrowright.esm.js";import"../nile-icon/icons/svg/dowhileloop.esm.js";import"../nile-icon/icons/svg/downgrade.esm.js";import"../nile-icon/icons/svg/download.esm.js";import"../nile-icon/icons/svg/drag.esm.js";import"../nile-icon/icons/svg/edit-write.esm.js";import"../nile-icon/icons/svg/else.esm.js";import"../nile-icon/icons/svg/email.esm.js";import"../nile-icon/icons/svg/enable.esm.js";import"../nile-icon/icons/svg/entities.esm.js";import"../nile-icon/icons/svg/entitlement.esm.js";import"../nile-icon/icons/svg/error.esm.js";import"../nile-icon/icons/svg/escalate.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-03.esm.js";import"../nile-icon/icons/svg/expand-06.esm.js";import"../nile-icon/icons/svg/expand-2.esm.js";import"../nile-icon/icons/svg/expand.esm.js";import"../nile-icon/icons/svg/eye-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow.esm.js";import"../nile-icon/icons/svg/flowmap-agent.esm.js";import"../nile-icon/icons/svg/flowmap-application.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-undo.esm.js";import"../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../nile-icon/icons/svg/flowmap.esm.js";import"../nile-icon/icons/svg/folder.esm.js";import"../nile-icon/icons/svg/folder_delete.esm.js";import"../nile-icon/icons/svg/foreach.esm.js";import"../nile-icon/icons/svg/format_align_justify.esm.js";import"../nile-icon/icons/svg/format_align_left.esm.js";import"../nile-icon/icons/svg/format_align_middle.esm.js";import"../nile-icon/icons/svg/format_align_right.esm.js";import"../nile-icon/icons/svg/format_bold.esm.js";import"../nile-icon/icons/svg/format_clear.esm.js";import"../nile-icon/icons/svg/format_italic.esm.js";import"../nile-icon/icons/svg/format_list_bulleted.esm.js";import"../nile-icon/icons/svg/format_list_numbered.esm.js";import"../nile-icon/icons/svg/format_underline.esm.js";import"../nile-icon/icons/svg/frequency.esm.js";import"../nile-icon/icons/svg/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/function.esm.js";import"../nile-icon/icons/svg/funnel-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goal.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide-01.esm.js";import"../nile-icon/icons/svg/guide.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-child-workflow.esm.js";import"../nile-icon/icons/svg/header-flows.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/headphones-01.esm.js";import"../nile-icon/icons/svg/help.esm.js";import"../nile-icon/icons/svg/helpandsupport.esm.js";import"../nile-icon/icons/svg/helpers.esm.js";import"../nile-icon/icons/svg/helpsupport.esm.js";import"../nile-icon/icons/svg/history.esm.js";import"../nile-icon/icons/svg/horizontal_bar_chart.esm.js";import"../nile-icon/icons/svg/identitygraph.esm.js";import"../nile-icon/icons/svg/identityledger.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/ifelsenew.esm.js";import"../nile-icon/icons/svg/image.esm.js";import"../nile-icon/icons/svg/image_2.esm.js";import"../nile-icon/icons/svg/immutable.esm.js";import"../nile-icon/icons/svg/info-icon.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/inner-union.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/intersection.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/keyword.esm.js";import"../nile-icon/icons/svg/kill.esm.js";import"../nile-icon/icons/svg/laptop-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/left-union.esm.js";import"../nile-icon/icons/svg/leftpointarrow.esm.js";import"../nile-icon/icons/svg/life-buoy-01.esm.js";import"../nile-icon/icons/svg/line.esm.js";import"../nile-icon/icons/svg/link.esm.js";import"../nile-icon/icons/svg/link_2.esm.js";import"../nile-icon/icons/svg/list-attribute.esm.js";import"../nile-icon/icons/svg/list.esm.js";import"../nile-icon/icons/svg/loader.esm.js";import"../nile-icon/icons/svg/loading.esm.js";import"../nile-icon/icons/svg/loading2.esm.js";import"../nile-icon/icons/svg/lock.esm.js";import"../nile-icon/icons/svg/log-info.esm.js";import"../nile-icon/icons/svg/log.esm.js";import"../nile-icon/icons/svg/logo-white.esm.js";import"../nile-icon/icons/svg/logout.esm.js";import"../nile-icon/icons/svg/logs.esm.js";import"../nile-icon/icons/svg/loop.esm.js";import"../nile-icon/icons/svg/manage.esm.js";import"../nile-icon/icons/svg/map.esm.js";import"../nile-icon/icons/svg/mapcreate.esm.js";import"../nile-icon/icons/svg/mapdont.esm.js";import"../nile-icon/icons/svg/maponcreate.esm.js";import"../nile-icon/icons/svg/maponupdate.esm.js";import"../nile-icon/icons/svg/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/marker_pin_02.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/menu_close.esm.js";import"../nile-icon/icons/svg/menu_open.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/metric.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/move-application.esm.js";import"../nile-icon/icons/svg/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/my-integration.esm.js";import"../nile-icon/icons/svg/new-calendar.esm.js";import"../nile-icon/icons/svg/ng-action.esm.js";import"../nile-icon/icons/svg/ng-activity.esm.js";import"../nile-icon/icons/svg/ng-alert-circle.esm.js";import"../nile-icon/icons/svg/ng-alert-triangle.esm.js";import"../nile-icon/icons/svg/ng-align-center.esm.js";import"../nile-icon/icons/svg/ng-annotation-x.esm.js";import"../nile-icon/icons/svg/ng-arrow-down.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-down.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-right.esm.js";import"../nile-icon/icons/svg/ng-arrow-up.esm.js";import"../nile-icon/icons/svg/ng-bar-chart-12.esm.js";import"../nile-icon/icons/svg/ng-bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/ng-battery-charging.esm.js";import"../nile-icon/icons/svg/ng-bell-01.esm.js";import"../nile-icon/icons/svg/ng-bell-ringing-04.esm.js";import"../nile-icon/icons/svg/ng-bold-01.esm.js";import"../nile-icon/icons/svg/ng-boolean.esm.js";import"../nile-icon/icons/svg/ng-briefcase-01.esm.js";import"../nile-icon/icons/svg/ng-building-01.esm.js";import"../nile-icon/icons/svg/ng-building-05.esm.js";import"../nile-icon/icons/svg/ng-building-07.esm.js";import"../nile-icon/icons/svg/ng-button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/ng-button-loading-blue.esm.js";import"../nile-icon/icons/svg/ng-calendar-plus-02.esm.js";import"../nile-icon/icons/svg/ng-calendar.esm.js";import"../nile-icon/icons/svg/ng-check-circle-broken.esm.js";import"../nile-icon/icons/svg/ng-check-circle.esm.js";import"../nile-icon/icons/svg/ng-check-done-01.esm.js";import"../nile-icon/icons/svg/ng-check-square-broken.esm.js";import"../nile-icon/icons/svg/ng-check.esm.js";import"../nile-icon/icons/svg/ng-chevron-down.esm.js";import"../nile-icon/icons/svg/ng-chevron-left-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-left.esm.js";import"../nile-icon/icons/svg/ng-chevron-right-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-right.esm.js";import"../nile-icon/icons/svg/ng-chevron-selector-vertical.esm.js";import"../nile-icon/icons/svg/ng-chevron-up-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-up.esm.js";import"../nile-icon/icons/svg/ng-clock-refresh.esm.js";import"../nile-icon/icons/svg/ng-columns-02.esm.js";import"../nile-icon/icons/svg/ng-copy-03.esm.js";import"../nile-icon/icons/svg/ng-dataflow-02.esm.js";import"../nile-icon/icons/svg/ng-dataflow-04.esm.js";import"../nile-icon/icons/svg/ng-dots-grid.esm.js";import"../nile-icon/icons/svg/ng-dots-vertical.esm.js";import"../nile-icon/icons/svg/ng-download-01.esm.js";import"../nile-icon/icons/svg/ng-dropdown.esm.js";import"../nile-icon/icons/svg/ng-edit-02.esm.js";import"../nile-icon/icons/svg/ng-edit-05.esm.js";import"../nile-icon/icons/svg/ng-expand-06.esm.js";import"../nile-icon/icons/svg/ng-eye-off.esm.js";import"../nile-icon/icons/svg/ng-eye.esm.js";import"../nile-icon/icons/svg/ng-file-02.esm.js";import"../nile-icon/icons/svg/ng-file-06.esm.js";import"../nile-icon/icons/svg/ng-file-check-02.esm.js";import"../nile-icon/icons/svg/ng-file-question-03.esm.js";import"../nile-icon/icons/svg/ng-filter-lines.esm.js";import"../nile-icon/icons/svg/ng-folder-code.esm.js";import"../nile-icon/icons/svg/ng-grid-01.esm.js";import"../nile-icon/icons/svg/ng-hash.esm.js";import"../nile-icon/icons/svg/ng-help-circle.esm.js";import"../nile-icon/icons/svg/ng-home-line.esm.js";import"../nile-icon/icons/svg/ng-image-03.esm.js";import"../nile-icon/icons/svg/ng-image-user-left.esm.js";import"../nile-icon/icons/svg/ng-info-circle.esm.js";import"../nile-icon/icons/svg/ng-italic-01.esm.js";import"../nile-icon/icons/svg/ng-key-01.esm.js";import"../nile-icon/icons/svg/ng-layers-three-01.esm.js";import"../nile-icon/icons/svg/ng-layers-three-02.esm.js";import"../nile-icon/icons/svg/ng-lightbulb-05.esm.js";import"../nile-icon/icons/svg/ng-list.esm.js";import"../nile-icon/icons/svg/ng-lock-03.esm.js";import"../nile-icon/icons/svg/ng-log-out-01.esm.js";import"../nile-icon/icons/svg/ng-mail-01.esm.js";import"../nile-icon/icons/svg/ng-mail-04.esm.js";import"../nile-icon/icons/svg/ng-marker-pin-01.esm.js";import"../nile-icon/icons/svg/ng-menu-05.esm.js";import"../nile-icon/icons/svg/ng-message-text-square-01.esm.js";import"../nile-icon/icons/svg/ng-minimize-02.esm.js";import"../nile-icon/icons/svg/ng-minus.esm.js";import"../nile-icon/icons/svg/ng-monitor.esm.js";import"../nile-icon/icons/svg/ng-number.esm.js";import"../nile-icon/icons/svg/ng-pie-chart-03.esm.js";import"../nile-icon/icons/svg/ng-plus.esm.js";import"../nile-icon/icons/svg/ng-power-01.esm.js";import"../nile-icon/icons/svg/ng-refresh-cw-01.esm.js";import"../nile-icon/icons/svg/ng-refresh-cw-02.esm.js";import"../nile-icon/icons/svg/ng-rocket-02.esm.js";import"../nile-icon/icons/svg/ng-rows-01.esm.js";import"../nile-icon/icons/svg/ng-search-lg.esm.js";import"../nile-icon/icons/svg/ng-send-01.esm.js";import"../nile-icon/icons/svg/ng-server.esm.js";import"../nile-icon/icons/svg/ng-settings-01.esm.js";import"../nile-icon/icons/svg/ng-share-04.esm.js";import"../nile-icon/icons/svg/ng-share-06.esm.js";import"../nile-icon/icons/svg/ng-shield-tick.esm.js";import"../nile-icon/icons/svg/ng-shopping-bag-01.esm.js";import"../nile-icon/icons/svg/ng-stars-02.esm.js";import"../nile-icon/icons/svg/ng-string.esm.js";import"../nile-icon/icons/svg/ng-switch-horizontal-01.esm.js";import"../nile-icon/icons/svg/ng-tag.esm.js";import"../nile-icon/icons/svg/ng-trash-01.esm.js";import"../nile-icon/icons/svg/ng-trash-03.esm.js";import"../nile-icon/icons/svg/ng-trend-up-01.esm.js";import"../nile-icon/icons/svg/ng-underline-01.esm.js";import"../nile-icon/icons/svg/ng-upload-01.esm.js";import"../nile-icon/icons/svg/ng-upload-cloud-02.esm.js";import"../nile-icon/icons/svg/ng-user-01.esm.js";import"../nile-icon/icons/svg/ng-user-check-02-1.esm.js";import"../nile-icon/icons/svg/ng-user-check-02.esm.js";import"../nile-icon/icons/svg/ng-user-plus-02.esm.js";import"../nile-icon/icons/svg/ng-user-right-01.esm.js";import"../nile-icon/icons/svg/ng-users-01.esm.js";import"../nile-icon/icons/svg/ng-wifi.esm.js";import"../nile-icon/icons/svg/ng-x-circle.esm.js";import"../nile-icon/icons/svg/ng-x-close.esm.js";import"../nile-icon/icons/svg/ng-x-square.esm.js";import"../nile-icon/icons/svg/ng-zap.esm.js";import"../nile-icon/icons/svg/nightingale-chart.esm.js";import"../nile-icon/icons/svg/nlp.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/note.esm.js";import"../nile-icon/icons/svg/notification.esm.js";import"../nile-icon/icons/svg/notificationadd.esm.js";import"../nile-icon/icons/svg/notificationadded.esm.js";import"../nile-icon/icons/svg/null.esm.js";import"../nile-icon/icons/svg/number.esm.js";import"../nile-icon/icons/svg/numberinput.esm.js";import"../nile-icon/icons/svg/numbers.esm.js";import"../nile-icon/icons/svg/object.esm.js";import"../nile-icon/icons/svg/operators.esm.js";import"../nile-icon/icons/svg/options.esm.js";import"../nile-icon/icons/svg/orchestration-solid.esm.js";import"../nile-icon/icons/svg/orchestration.esm.js";import"../nile-icon/icons/svg/organization.esm.js";import"../nile-icon/icons/svg/other.esm.js";import"../nile-icon/icons/svg/otherdetails.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.esm.js";import"../nile-icon/icons/svg/paperclip.esm.js";import"../nile-icon/icons/svg/partner.esm.js";import"../nile-icon/icons/svg/partners.esm.js";import"../nile-icon/icons/svg/pause.esm.js";import"../nile-icon/icons/svg/pencil.esm.js";import"../nile-icon/icons/svg/peopletask.esm.js";import"../nile-icon/icons/svg/persistent-variable.esm.js";import"../nile-icon/icons/svg/persistentdata.esm.js";import"../nile-icon/icons/svg/phone.esm.js";import"../nile-icon/icons/svg/pie.esm.js";import"../nile-icon/icons/svg/pin.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/play_pause.esm.js";import"../nile-icon/icons/svg/plus.esm.js";import"../nile-icon/icons/svg/pluscircle.esm.js";import"../nile-icon/icons/svg/plussquare.esm.js";import"../nile-icon/icons/svg/policy.esm.js";import"../nile-icon/icons/svg/potentialmatch.esm.js";import"../nile-icon/icons/svg/poweron.esm.js";import"../nile-icon/icons/svg/predefined.esm.js";import"../nile-icon/icons/svg/preview.esm.js";import"../nile-icon/icons/svg/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo-02.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh.esm.js";import"../nile-icon/icons/svg/reminder.esm.js";import"../nile-icon/icons/svg/resize.esm.js";import"../nile-icon/icons/svg/resource.esm.js";import"../nile-icon/icons/svg/resource_analysis.esm.js";import"../nile-icon/icons/svg/resource_graph.esm.js";import"../nile-icon/icons/svg/restart_alt.esm.js";import"../nile-icon/icons/svg/revocation-cycle.esm.js";import"../nile-icon/icons/svg/right-join.esm.js";import"../nile-icon/icons/svg/right-union.esm.js";import"../nile-icon/icons/svg/rocket-02.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/savings.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-steps-icon.esm.js";import"../nile-icon/icons/svg/search.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.esm.js";import"../nile-icon/icons/svg/sort_ascending.esm.js";import"../nile-icon/icons/svg/sort_descending.esm.js";import"../nile-icon/icons/svg/sortascending.esm.js";import"../nile-icon/icons/svg/sortdescending.esm.js";import"../nile-icon/icons/svg/sortdown.esm.js";import"../nile-icon/icons/svg/sortup.esm.js";import"../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/step_into.esm.js";import"../nile-icon/icons/svg/step_out.esm.js";import"../nile-icon/icons/svg/step_over.esm.js";import"../nile-icon/icons/svg/stop.esm.js";import"../nile-icon/icons/svg/storybook.esm.js";import"../nile-icon/icons/svg/string.esm.js";import"../nile-icon/icons/svg/stringinput.esm.js";import"../nile-icon/icons/svg/stringletters.esm.js";import"../nile-icon/icons/svg/support.esm.js";import"../nile-icon/icons/svg/swap.esm.js";import"../nile-icon/icons/svg/switch.esm.js";import"../nile-icon/icons/svg/sync.esm.js";import"../nile-icon/icons/svg/table.esm.js";import"../nile-icon/icons/svg/tag.esm.js";import"../nile-icon/icons/svg/tag_cloud.esm.js";import"../nile-icon/icons/svg/test.esm.js";import"../nile-icon/icons/svg/text-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/thumbsdown.esm.js";import"../nile-icon/icons/svg/thumbsup.esm.js";import"../nile-icon/icons/svg/thumsup.esm.js";import"../nile-icon/icons/svg/tick.esm.js";import"../nile-icon/icons/svg/timeupdate.esm.js";import"../nile-icon/icons/svg/timezone.esm.js";import"../nile-icon/icons/svg/transaction_monitor.esm.js";import"../nile-icon/icons/svg/travel_map.esm.js";import"../nile-icon/icons/svg/trend-up-02.esm.js";import"../nile-icon/icons/svg/trigger.esm.js";import"../nile-icon/icons/svg/undo-02.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/union.esm.js";import"../nile-icon/icons/svg/unlink.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updown.esm.js";import"../nile-icon/icons/svg/upgrade.esm.js";import"../nile-icon/icons/svg/upload.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user.esm.js";import"../nile-icon/icons/svg/useractive.esm.js";import"../nile-icon/icons/svg/useradd.esm.js";import"../nile-icon/icons/svg/useraddgroup.esm.js";import"../nile-icon/icons/svg/userfind.esm.js";import"../nile-icon/icons/svg/userimport.esm.js";import"../nile-icon/icons/svg/userimportgroup.esm.js";import"../nile-icon/icons/svg/usermixed.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-plus.esm.js";import"../nile-icon/icons/svg/users-up.esm.js";import"../nile-icon/icons/svg/users.esm.js";import"../nile-icon/icons/svg/userupdate.esm.js";import"../nile-icon/icons/svg/validationexpression.esm.js";import"../nile-icon/icons/svg/variable-global.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new.esm.js";import"../nile-icon/icons/svg/variable.esm.js";import"../nile-icon/icons/svg/video.esm.js";import"../nile-icon/icons/svg/view.esm.js";import"../nile-icon/icons/svg/virtualserver.esm.js";import"../nile-icon/icons/svg/virtualservergroup.esm.js";import"../nile-icon/icons/svg/visibility.esm.js";import"../nile-icon/icons/svg/visibilityoff.esm.js";import"../nile-icon/icons/svg/visual_builder.esm.js";import"../nile-icon/icons/svg/wait.esm.js";import"../nile-icon/icons/svg/warning-01.esm.js";import"../nile-icon/icons/svg/warning.esm.js";import"../nile-icon/icons/svg/whileloop.esm.js";import"../nile-icon/icons/svg/workflow-application.esm.js";import"../nile-icon/icons/svg/workflow-text.esm.js";import"../nile-icon/icons/svg/workflow.esm.js";import"../nile-icon/icons/svg/writeexpression.esm.js";import"../nile-icon/aliasmap.esm.js";import"../floating-ui.dom-cc9126da.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"../nile-tag/nile-tag.css.esm.js";import"../nile-icon-button/nile-icon-button.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"lit/static-html.js";import"../nile-option/nile-option.css.esm.js";import"../nile-checkbox/nile-checkbox.css.esm.js";import"lit/directives/live.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";import"../nile-loader/nile-loader.css.esm.js";import"lit/directives/unsafe-html.js";import"lit/directives/repeat.js";import"../nile-select/portal-utils.esm.js";let z=class extends y{constructor(){super(...arguments),this.formControlController=new v(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new u(this,"help-text","label"),this.portalManager=new $(this),this.searchManager=new _,this.scrollElementRef=l(),this.virtualizerCtrl=new w(this,{getScrollElement:()=>this.scrollElementRef.value??null,count:0,estimateSize:()=>38,overscan:5}),this.hScrollElementRef=l(),this.hVirtualizerCtrl=new w(this,{getScrollElement:()=>this.hScrollElementRef.value??null,count:0,estimateSize:()=>160,horizontal:!0,overscan:3}),this.scrolling=!1,this.keyboardActiveIndex=-1,this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.filteredData=[],this.filteredRows=[],this.originalData=[],this.showNoResults=!1,this.showListbox=!1,this.searchValue="",this.showSelectedOnly=!1,this.selectAllChecked=!1,this.selectAllIndeterminate=!1,this.stickyHeaderIndex=-1,this.name="",this.data=[],this.value="",this.defaultValue="",this.size="medium",this.placeholder="Type to search...",this.multiple=!1,this.label="",this.required=!1,this.disabled=!1,this.open=!1,this.clearable=!1,this.loading=!1,this.optionsLoading=!1,this.disableLocalSearch=!1,this.allowCustomValue=!1,this.acceptUserInput=!1,this.addToSuggestions=!1,this.strict=!1,this.maxTagsVisible=3,this.tagLayout="single-line",this.showFooter=!0,this.selectAllEnabled=!1,this.stickyGroupHeader=!0,this.portal=!1,this.hoist=!1,this.placement="bottom",this.form="",this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.filled=!1,this.pill=!1,this.noResultsMessage="No result found",this.noResultsSubtitle="Clear search or change filter",this.noDataMessage="No data available",this.autoCompleteOptions=[],this.debounceMs=300,this.allowHtmlLabel=!0,this.enableVisibilityEffect=!1,this.enableTabClose=!1,this.noWidthSync=!1,this.gridColumns=1,this.gridRows=0,this.gridColumnWidth=160,this.lastVirtualizerGrouped=!1}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage??""}connectedCallback(){super.connectedCallback(),this.open=!1,this.setupBoundHandlers(),this.emit("nile-init"),this.updateComplete.then((()=>{this.autoCompleteOptions.length>0&&0===this.data.length&&(this.data=[...this.autoCompleteOptions]),this.value&&this.data.length>0&&this.syncSelection()}))}disconnectedCallback(){this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.searchManager.cancelDebounce(),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0),this.portalManager.cleanupPortal()}firstUpdated(i){this.visibilityManager=new O({host:this,target:this.combobox,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view",name:this.name})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden",name:this.name})},emit:(i,s)=>this.emit(`nile-${i}`,s)})}updated(i){i.has("value")&&this.syncSelection(),this.updateVirtualizerCount()}get isHorizontalGrid(){return this.gridRows>0&&this.gridColumns<=1}get hasGroupedData(){const i=this.originalData.length>0?this.originalData:this.data;return S(i)}updateStickyHeader(i){if(!this.stickyGroupHeader||!this.hasGroupedData)return void(-1!==this.stickyHeaderIndex&&(this.stickyHeaderIndex=-1));let s=0,o=-1;for(let e=0;e<this.filteredRows.length;e++){const n=this.filteredRows[e],t="header"===n.kind?32:38;if(s>i)break;"header"===n.kind&&(o=e),s+=t}o!==this.stickyHeaderIndex&&(this.stickyHeaderIndex=o)}pruneTreeBySelection(i,s){const o=[];for(const e of i)if(e&&"object"==typeof e&&"group"===e.type&&Array.isArray(e.options)){const i=this.pruneTreeBySelection(e.options,s);i.length>0&&o.push({...e,options:i})}else s.has(String(this.getItemValue(e)))&&o.push(e);return o}get hasActiveFilter(){return!!this.searchValue||this.showSelectedOnly}renderEmptyState(){return this.hasActiveFilter?k.renderNoResults(this.noResultsMessage,this.noResultsSubtitle):k.renderNoData(this.noDataMessage)}get isBidirectionalGrid(){return this.gridRows>0&&this.gridColumns>1}get virtualRowCount(){return this.gridColumns>1?Math.ceil(this.filteredData.length/this.gridColumns):this.hasGroupedData?this.filteredRows.length:this.filteredData.length}get virtualColumnCount(){return Math.ceil(this.filteredData.length/Math.max(this.gridRows,1))}updateVirtualizerCount(){if(this.isHorizontalGrid){const i=this.hVirtualizerCtrl.getVirtualizer(),s=this.virtualColumnCount;i.options.count===s&&i.options.estimateSize(0)===this.gridColumnWidth||(i.setOptions({...i.options,count:s,estimateSize:()=>this.gridColumnWidth}),i.measure())}else{const i=this.virtualizerCtrl.getVirtualizer(),s=this.virtualRowCount,o=this.hasGroupedData,e=i.options.count!==s,n=this.lastVirtualizerGrouped!==o;if(e||n){const e=o?i=>"header"===this.filteredRows[i]?.kind?32:38:()=>38;i.setOptions({...i.options,count:s,estimateSize:e}),i.measure(),this.lastVirtualizerGrouped=o}}}getDisplayText(i){return this.renderItemConfig?.getDisplayText?this.renderItemConfig.getDisplayText(i):i?.label||i?.name||i?.toString?.()||""}getItemValue(i){return this.renderItemConfig?.getValue?this.renderItemConfig.getValue(i):i?.value??i}getSearchText(i){return this.renderItemConfig?.getSearchText?this.renderItemConfig.getSearchText(i):this.getDisplayText(i)}getItemDescription(i){return this.renderItemConfig?.getDescription?.(i)??i?.description??""}getItemPrefix(i){return this.renderItemConfig?.getPrefix?.(i)??i?.prefix??""}getItemSuffix(i){return this.renderItemConfig?.getSuffix?.(i)??i?.suffix??""}syncSelection(){const i=this.originalData.length>0?this.originalData:this.data,s=this.hasGroupedData?C(A(i)).map((i=>i.item)):i;if(this.selectedOptions=x.createOptionsFromValues(this.value,s,this.getDisplayText.bind(this),this.renderItemConfig?.getValue),this.multiple)this.displayLabel="";else{const i=this.selectedOptions[0]?.getTextLabel()??"";this.displayLabel=i,i?this.searchValue=i:this.hasFocus||(this.searchValue="")}this.updateValidity(),this.updateSelectAllState()}getSelectableData(){return this.filteredData.filter((i=>!i?.disabled))}updateSelectAllState(){if(!this.multiple)return this.selectAllChecked=!1,void(this.selectAllIndeterminate=!1);const i=this.getSelectableData();if(0===i.length)return this.selectAllChecked=!1,void(this.selectAllIndeterminate=!1);const s=Array.isArray(this.value)?this.value:[],o=new Set(s.map(String)),e=i.reduce(((i,s)=>i+(o.has(String(this.getItemValue(s)))?1:0)),0);0===e?(this.selectAllChecked=!1,this.selectAllIndeterminate=!1):e===i.length?(this.selectAllChecked=!0,this.selectAllIndeterminate=!1):(this.selectAllChecked=!1,this.selectAllIndeterminate=!0)}handleSelectAllToggle(i){if(i.stopPropagation(),i.preventDefault(),!this.multiple||!this.selectAllEnabled)return;const s=this.getSelectableData();if(0===s.length)return;const o=this.selectAllChecked||this.selectAllIndeterminate,e=Array.isArray(this.value)?[...this.value]:[],n=s.map((i=>String(this.getItemValue(i)))),t=new Set(n);let c;if(o)c=e.filter((i=>!t.has(String(i))));else{const i=new Set(e.map(String));n.forEach((s=>i.add(s))),c=Array.from(i)}this.value=c,this.searchValue="",this.syncSelection(),this.filterOptions("",!0),this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-select-all",{value:this.value,name:this.name,action:o?"deselect-all":"select-all"})}))}setupBoundHandlers(){this.handleDocumentFocusIn=i=>{if(!this.open)return;const s=i.composedPath(),o=s.includes(this),e=this.popup&&s.includes(this.popup),n=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);o||e||n||this.hide()},this.handleDocumentKeyDown=i=>{(this.open||"ArrowDown"===i.key||"ArrowUp"===i.key||"Enter"===i.key)&&this.onGlobalKeyDown(i)},this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),o=s.includes(this),e=this.popup&&s.includes(this.popup),n=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);o||e||n||this.hide()},this.handleWindowError=i=>{(i.error?.message||i.message||"").includes("Cannot read properties of null (reading 'insertBefore')")&&i.preventDefault()},this.handleWindowResize=()=>this.portalManager.updatePosition(),this.handleWindowScroll=()=>this.portalManager.updatePosition()}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),window.addEventListener("error",this.handleWindowError),this.portal&&(window.addEventListener("resize",this.handleWindowResize),window.addEventListener("scroll",this.handleWindowScroll,!0))}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),window.removeEventListener("error",this.handleWindowError),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("scroll",this.handleWindowScroll,!0)}onInputKeyDown(i){switch(i.key){case"ArrowDown":i.preventDefault(),this.open?this.moveActiveOption(this.gridColumns>1?this.gridColumns:1):this.show();break;case"ArrowUp":i.preventDefault(),this.open?this.moveActiveOption(this.gridColumns>1?-this.gridColumns:-1):this.show();break;case"ArrowRight":this.gridColumns>1&&this.open&&(i.preventDefault(),this.moveActiveOption(1));break;case"ArrowLeft":this.gridColumns>1&&this.open&&(i.preventDefault(),this.moveActiveOption(-1));break;case"Enter":i.preventDefault(),this.open?this.selectActiveOption():this.searchValue.trim()&&(this.acceptUserInput||this.allowCustomValue)?this.addCustomValue(this.searchValue.trim()):this.show();break;case"Escape":this.open&&(i.preventDefault(),i.stopPropagation(),this.hide());break;case"Home":this.open&&(i.preventDefault(),this.setActiveOption(0));break;case"End":this.open&&(i.preventDefault(),this.setActiveOption(this.filteredData.length-1));break;case"Backspace":if(this.multiple&&""===this.searchValue&&this.selectedOptions.length>0){const i=this.selectedOptions[this.selectedOptions.length-1];this.removeTag(i)}break;case"Tab":this.multiple&&this.acceptUserInput&&this.searchValue.trim()&&this.addCustomValue(this.searchValue.trim()),this.open&&this.hide()}}onGlobalKeyDown(i){"Escape"===i.key&&this.open&&(i.preventDefault(),i.stopPropagation(),this.hide(),this.inputElement?.focus({preventScroll:!0}))}getVisibleOptions(){const i=this.portal?this.portalManager.portalContainerElement:this.shadowRoot;return i?i.querySelectorAll("nile-option:not([disabled])"):[]}moveActiveOption(i){const s=this.getVisibleOptions();if(!s.length)return;let o=this.keyboardActiveIndex+i;o<0&&(o=s.length-1),o>=s.length&&(o=0),this.setActiveOption(o)}setActiveOption(i){const s=this.getVisibleOptions();s.length&&(s.forEach(((s,o)=>{const e=s;o===i?(e.setAttribute("aria-current","true"),e.classList.add("combobox__option--active"),e.scrollIntoView?.({block:"nearest"})):(e.removeAttribute("aria-current"),e.classList.remove("combobox__option--active"))})),this.keyboardActiveIndex=i)}selectActiveOption(){const i=this.getVisibleOptions();if(this.keyboardActiveIndex>=0&&this.keyboardActiveIndex<i.length){const s=i[this.keyboardActiveIndex];s&&!s.disabled&&this.handleOptionSelection(s.value)}else this.searchValue.trim()&&(this.allowCustomValue||this.acceptUserInput)&&this.addCustomValue(this.searchValue.trim())}onInputChange(i){i.stopPropagation()}onInputHandler(i){const s=i.target;this.searchValue=s.value,this.open||this.show(),this.emit("nile-input",{value:this.searchValue,name:this.name}),this.disableLocalSearch?this.searchManager.debounceSearch((i=>this.emit("nile-search",{query:i,name:this.name})),this.searchValue,this.debounceMs):this.filterOptions(this.searchValue),this.keyboardActiveIndex=-1}filterOptions(i,s=!1){const o=this.originalData.length>0?this.originalData:this.data;if(this.hasGroupedData){let s=o;if(this.showSelectedOnly){const i=Array.isArray(this.value)?this.value:[this.value],e=new Set(i.map((i=>String(i))));s=this.pruneTreeBySelection(o,e)}const{rows:e}=B(s,i,this.getSearchText.bind(this));this.filteredRows=e,this.filteredData=C(e).map((i=>i.item)),this.showNoResults=0===this.filteredData.length;const n=this.scrollElementRef.value?.scrollTop??0;this.updateStickyHeader(n)}else{let s=o;if(this.showSelectedOnly){const i=Array.isArray(this.value)?this.value:[this.value],e=new Set(i.map((i=>String(i))));s=o.filter((i=>e.has(String(this.getItemValue(i)))))}const{filteredItems:e,showNoResults:n}=this.searchManager.filter(i,s,this.getSearchText.bind(this));this.filteredData=e,this.filteredRows=[],this.showNoResults=n}this.portalManager.resetMeasuredHeight(),s||this.resetScrollPosition(),this.updateSelectAllState(),this.requestUpdate()}onFocusIn(){this.hasFocus=!0,this.emit("nile-focus"),!this.multiple&&this.displayLabel&&(this.searchValue=this.displayLabel,this.requestUpdate(),this.updateComplete.then((()=>{this.inputElement?.select()})))}onFocusOut(){if(this.hasFocus=!1,this.emit("nile-blur"),!this.open&&!this.multiple)if(this.strict){const i=this.originalData.length>0?this.originalData:this.data,s=(this.hasGroupedData?C(A(i)).map((i=>i.item)):i).find((i=>this.getDisplayText(i).toLowerCase()===this.searchValue.toLowerCase()));if(s){const i=this.getItemValue(s);this.value!==i&&(this.value=i,this.syncSelection(),this.emit("nile-change",{value:this.value,name:this.name}))}else this.searchValue=this.displayLabel}else this.searchValue=this.displayLabel}onTriggerMouseDown(i){if(this.disabled)return;i.composedPath().some((i=>i instanceof Element&&"nile-icon-button"===i.tagName.toLowerCase()))||(i.preventDefault(),this.inputElement?.focus({preventScroll:!0}),this.open?this.hide():this.show())}onOptionClick(i){const s=i.composedPath().find((i=>"NILE-OPTION"===i.tagName));s&&!s.disabled&&this.handleOptionSelection(s.value)}handleOptionSelection(i){const s=this.value;if(this.multiple){const s=Array.isArray(this.value)?this.value:[];this.value=x.toggleMultiValue(s,i),this.searchValue="",this.syncSelection(),this.filterOptions("",!0)}else this.value=i,this.syncSelection(),this.searchValue=this.displayLabel,this.hide();JSON.stringify(this.value)!==JSON.stringify(s)&&this.updateComplete.then((()=>{this.emit("nile-input",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})})),this.inputElement?.focus({preventScroll:!0})}addCustomValue(i){if(this.addToSuggestions){const s=this.originalData.length>0?this.originalData:this.data;if(!s.some((s=>String(this.getItemValue(s))===i||this.getDisplayText(s)===i))){const o=this.renderItemConfig?.getValue?{value:i,label:i}:i;this.originalData=[...s,o],this.data=[...this.originalData],this.autoCompleteOptions=[...this.originalData],this.filteredData=[...this.originalData]}}if(this.multiple){const s=Array.isArray(this.value)?this.value:[];s.includes(i)||(this.value=[...s,i])}else this.value=i,this.hide();this.searchValue=this.multiple?"":i,this.syncSelection(),this.filterOptions(this.searchValue),this.emit("nile-tag-add",{value:i,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})}onClearClick(i){i.stopPropagation(),this.value=this.multiple?[]:"",this.searchValue="",this.syncSelection(),this.filterOptions(""),this.emit("nile-clear",{value:this.value,name:this.name}),this.emit("nile-change",{value:this.value,name:this.name})}removeTag(i){if(this.disabled)return;const s=Array.isArray(this.value)?this.value:[];this.value=x.removeValue(s,i.value),this.syncSelection(),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:i.value}),this.emit("nile-change",{value:this.value,name:this.name})}onFooterClick(i){i.stopPropagation(),i.preventDefault()}toggleShowSelected(i){i.stopPropagation(),i.preventDefault(),0!==this.selectedOptions.length&&(this.showSelectedOnly=!this.showSelectedOnly,this.showSelectedOnly&&(this.searchValue=""),this.filterOptions(this.searchValue))}clearAll(){this.showSelectedOnly=!1,this.value=this.multiple?[]:"",this.filterOptions(""),this.syncSelection(),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-clear",{value:this.value,name:this.name}),this.resetScrollPosition()}onScroll(i){const s=i.target;if(this.updateStickyHeader(s.scrollTop),this.showSelectedOnly)return;this.emit("nile-scroll",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name}),this.scrolling||(this.scrolling=!0,this.emit("nile-scroll-start",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name})),clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout((()=>{this.scrolling=!1}),300);Math.ceil(s.scrollTop)>=Math.floor(s.scrollHeight-s.offsetHeight)&&this.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}async show(){if(!this.open&&!this.disabled)return this.open=!0,b(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,b(this,"nile-after-hide")}async handleOpenChange(){this.open&&!this.disabled?(this.visibilityManager?.setup(),this.showListbox=!0,await this.updateComplete,await this.doOpen(),this.portal&&this.portalManager.setupPortal()):(this.visibilityManager?.cleanup(),await this.doClose(),this.showListbox=!1,this.portal&&this.portalManager.cleanupPortal())}async doOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.keyboardActiveIndex=-1,0===this.originalData.length&&this.data.length>0&&(this.originalData=[...this.data]),this.hasGroupedData?this.filterOptions(this.searchValue):(this.filteredData=[...this.originalData.length>0?this.originalData:this.data],this.filteredRows=[],this.showNoResults=0===this.filteredData.length),await a(this),this.popup?.popup&&(this.popup.popup.style.visibility="hidden"),this.popup.active=!0,await this.updateComplete;const i=this.isHorizontalGrid?this.hScrollElementRef.value:this.scrollElementRef.value;if(await new Promise((s=>{let o=0;const e=()=>{o++;(this.isHorizontalGrid?(i?.offsetWidth??0)>0:(i?.offsetHeight??0)>0)||o>=10?s():requestAnimationFrame(e)};requestAnimationFrame(e)})),this.isHorizontalGrid){const i=this.hVirtualizerCtrl.getVirtualizer();i.scrollOffset=0,i.measure()}else{const i=this.virtualizerCtrl.getVirtualizer();i.scrollOffset=0,i.measure()}this.requestUpdate(),await this.updateComplete,await new Promise((i=>{requestAnimationFrame((()=>i()))})),this.popup?.popup&&(this.popup.popup.style.visibility="");const{keyframes:s,options:o}=d(this,"combobox.show",{dir:"ltr"});await p(this.popup.popup,s,o),this.resetScrollPosition(),this.emit("nile-after-show",{value:this.value,name:this.name})}async doClose(){this.emit("nile-hide",{value:this.value,name:this.name}),this.removeOpenListeners(),await a(this);const{keyframes:i,options:s}=d(this,"combobox.hide",{dir:"ltr"});await p(this.popup.popup,i,s),this.popup.active=!1,this.popup?.popup&&(this.popup.popup.style.visibility=""),this.showSelectedOnly=!1,this.portalManager.resetMeasuredHeight(),this.multiple||(this.searchValue=this.displayLabel),this.emit("nile-after-hide",{value:this.value,name:this.name})}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){this.syncSelection(),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePosition()}handleDataChange(){this.data.length>0&&!this.showSelectedOnly&&(this.originalData=[...this.data]),this.hasGroupedData?this.filterOptions(this.searchValue):(this.filteredData=[...this.data],this.filteredRows=[]),this.syncSelection(),this.updateSelectAllState(),this.optionsLoading||this.loading||0!==this.data.length?this.data.length>0&&(this.showNoResults=!1):this.showNoResults=!0,this.portalManager.resetMeasuredHeight(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePosition(),this.requestUpdate()}handleAutoCompleteOptionsChange(){this.autoCompleteOptions.length>0&&(this.data=[...this.autoCompleteOptions])}handleSelectAllConfigChange(){this.updateSelectAllState()}handlePortalChange(){this.open&&(this.portal?this.portalManager.setupPortal():this.portalManager.cleanupPortal())}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(i){this.valueInput.setCustomValidity(i),this.formControlController.updateValidity()}focus(i){this.inputElement?.focus(i)}blur(){this.inputElement?.blur()}handleInvalid(i){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(i)}updateValidity(){this.updateComplete.then((()=>this.formControlController.updateValidity()))}async resetScrollPosition(){this.stickyHeaderIndex=-1,await this.portalManager.resetScrollPosition()}render(){const i=this.hasSlotController.test("label"),o=!!this.label||!!i,e=this.multiple?Array.isArray(this.value)&&this.value.length>0:"string"==typeof this.value&&""!==this.value,n=this.clearable&&!this.disabled&&e,t=!!this.helpText,l=!!this.errorMessage,m=!e;return s`
2
2
  <div
3
3
  part="form-control"
4
4
  class=${c({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--has-help-text":t})}
@@ -131,9 +131,9 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as o,
131
131
  ></nile-icon>
132
132
  </slot>
133
133
  </button>
134
- `}renderStickyHeaderOverlay(i,o){if(!this.stickyGroupHeader||!i||!o)return s``;const e=this.stickyHeaderIndex;if(e<0||e>=this.filteredRows.length)return s``;const n=this.filteredRows[e];return"header"!==n.kind?s``:s`
134
+ `}renderStickyHeaderOverlay(){if(!this.stickyGroupHeader)return s``;const i=this.stickyHeaderIndex;if(i<0||i>=this.filteredRows.length)return s``;const o=this.filteredRows[i];return"header"!==o.kind?s``:s`
135
135
  <div class="combobox__group-sticky-overlay">
136
- ${k.renderGroupHeader(n)}
136
+ ${k.renderGroupHeader(o)}
137
137
  </div>
138
138
  `}renderListbox(){const i=this.allowCustomValue&&this.searchValue.trim()&&!this.filteredData.some((i=>{const s=this.getItemValue(i);return String(s).toLowerCase()===this.searchValue.trim().toLowerCase()}))&&!this.filteredData.some((i=>this.getDisplayText(i).toLowerCase()===this.searchValue.trim().toLowerCase()));if(this.isHorizontalGrid)return this.renderHorizontalListbox(!!i);const o=this.gridColumns>1||this.isBidirectionalGrid,e=this.hasGroupedData&&!o,n=e?this.filteredRows.length>=5:k.shouldUseVirtualizer(this.filteredData,this.gridColumns),t=this.virtualizerCtrl.getVirtualizer(),c=n||o?t.getVirtualItems():[],r=n||o?t.getTotalSize():0;return s`
139
139
  <div
@@ -146,19 +146,22 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as o,
146
146
  class="combobox__listbox ${this.isBidirectionalGrid?"combobox__listbox--bidirectional":""} ${this.portal?"combobox__portal-hidden":""}"
147
147
  tabindex="-1"
148
148
  @mouseup=${this.onOptionClick}
149
- @scroll=${this.onScroll}
150
149
  style="${this.portal?"display: none;":""}${this.isBidirectionalGrid?`max-height:${38*this.gridRows+16}px;`:""}"
151
- ${m(this.scrollElementRef)}
152
150
  >
153
- ${this.renderLoader()}
154
151
  ${this.renderSelectAll()}
155
- ${this.renderStickyHeaderOverlay(e,n)}
156
- ${!this.showNoResults||this.optionsLoading||this.loading?o?k.renderVirtualizedGrid(c,r,this.filteredData,this.value,this.multiple,this.gridColumns,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.optionsLoading||this.loading,this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,this.isBidirectionalGrid?this.gridColumnWidth:void 0):e?n?k.renderRowsVirtualized(c,r,this.filteredRows,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.optionsLoading||this.loading,this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0):k.renderRowsPlain(this.filteredRows,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.showNoResults,this.noResultsMessage,this.optionsLoading||this.loading,this.onScroll.bind(this),this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,void 0,this.hasActiveFilter?this.noResultsSubtitle:void 0):n?k.renderVirtualizedOptions(c,r,this.filteredData,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.optionsLoading||this.loading,this.allowHtmlLabel,t.measureElement,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0):k.renderPlainOptions(this.filteredData,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.showNoResults,this.noResultsMessage,this.optionsLoading||this.loading,this.onScroll.bind(this),this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,void 0,this.hasActiveFilter?this.noResultsSubtitle:void 0):this.renderEmptyState()}
152
+ <div
153
+ class="combobox__options-scroll"
154
+ @scroll=${this.onScroll}
155
+ ${m(this.scrollElementRef)}
156
+ >
157
+ ${this.renderLoader()}
158
+ ${!this.showNoResults||this.optionsLoading||this.loading?o?k.renderVirtualizedGrid(c,r,this.filteredData,this.value,this.multiple,this.gridColumns,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.optionsLoading||this.loading,this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,this.isBidirectionalGrid?this.gridColumnWidth:void 0):e?n?k.renderRowsVirtualized(c,r,this.filteredRows,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.optionsLoading||this.loading,this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,void 0,this.renderStickyHeaderOverlay(),this.stickyGroupHeader?this.stickyHeaderIndex:-1):k.renderRowsPlain(this.filteredRows,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.showNoResults,this.noResultsMessage,this.optionsLoading||this.loading,this.onScroll.bind(this),this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,void 0,this.hasActiveFilter?this.noResultsSubtitle:void 0):n?k.renderVirtualizedOptions(c,r,this.filteredData,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.optionsLoading||this.loading,this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0):k.renderPlainOptions(this.filteredData,this.value,this.multiple,this.getDisplayText.bind(this),this.getItemValue.bind(this),this.showNoResults,this.noResultsMessage,this.optionsLoading||this.loading,this.onScroll.bind(this),this.allowHtmlLabel,this.renderItemConfig?.getDescription?this.getItemDescription.bind(this):void 0,this.renderItemConfig?.getPrefix?this.getItemPrefix.bind(this):void 0,this.renderItemConfig?.getSuffix?this.getItemSuffix.bind(this):void 0,void 0,this.hasActiveFilter?this.noResultsSubtitle:void 0):this.renderEmptyState()}
157
159
  ${i?s`
158
160
  <div @mouseup=${i=>{i.stopPropagation(),this.addCustomValue(this.searchValue.trim())}}>
159
161
  ${k.renderAddCustomOption(this.searchValue.trim(),this.multiple)}
160
162
  </div>
161
163
  `:""}
164
+ </div>
162
165
  ${this.multiple&&this.showFooter&&!this.selectAllEnabled?this.renderFooter():""}
163
166
  </div>
164
167
  `}renderHorizontalListbox(i){const o=this.hVirtualizerCtrl.getVirtualizer(),e=o.getVirtualItems(),n=o.getTotalSize();return s`
@@ -1,2 +1,2 @@
1
- System.register(["../floating-ui.dom-007bbe96.cjs.js","../nile-select/portal-utils.cjs.js"],function(_export,_context){"use strict";var t,i,s,o,e,a,n,l,h;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}return{setters:[function(_floatingUiDom002CjsJs){t=_floatingUiDom002CjsJs.c;i=_floatingUiDom002CjsJs.o;s=_floatingUiDom002CjsJs.s;o=_floatingUiDom002CjsJs.f;e=_floatingUiDom002CjsJs.a;a=_floatingUiDom002CjsJs.p;n=_floatingUiDom002CjsJs.b;},function(_nileSelectPortalUtilsCjsJs){l=_nileSelectPortalUtilsCjsJs.P;}],execute:function execute(){_export("C",h=/*#__PURE__*/function(){function h(t){_classCallCheck(this,h);this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.cleanupAutoUpdate=null,this.currentPlacement="bottom",this.component=t;}return _createClass(h,[{key:"portalContainerElement",get:function get(){return this.portalContainer;}},{key:"createPortalContainer",value:function createPortalContainer(){var t=document.createElement("div");return t.style.position="absolute",t.style.zIndex="9999",t.style.pointerEvents="none",t.className="nile-combobox-portal",t;}},{key:"computePosition",value:function(){var _computePosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var _this=this;var n,_h,r,c,_yield$t,u,p,b,m,d;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(this.portalContainer){_context2.next=2;break;}return _context2.abrupt("return");case 2:n=this.component.combobox||this.component,_h=this.portalContainer;_context2.prev=3;r=l.findBoundaryElements(n);c=l.getOptimalPlacement(n);_context2.next=8;return t(n,_h,{placement:c,strategy:"fixed",middleware:[i(4),s({apply:function apply(_ref){var t=_ref.availableWidth,i=_ref.availableHeight,s=_ref.elements,o=_ref.rects;var e=l.calculateOptimalHeight(o.reference,window.innerHeight,_this.currentPlacement);s.floating.style.maxWidth="".concat(t,"px"),s.floating.style.maxHeight="".concat(e,"px"),s.floating.style.setProperty("--auto-size-available-width","".concat(t,"px")),s.floating.style.setProperty("--auto-size-available-height","".concat(e,"px"));},padding:10,boundary:r}),o({fallbackPlacements:["bottom","top","bottom-start","top-start"],fallbackStrategy:"bestFit",padding:10,boundary:r}),e({padding:10,crossAxis:!0,boundary:r})],platform:a});case 8:_yield$t=_context2.sent;u=_yield$t.x;p=_yield$t.y;b=_yield$t.placement;m=n.getBoundingClientRect();Object.assign(_h.style,{left:"".concat(u,"px"),top:"".concat(p,"px"),position:"fixed",pointerEvents:"auto",width:"".concat(m.width,"px")}),this.currentPlacement=b;d=b.split("-")[0];_h.className="nile-combobox-portal combobox__listbox--".concat(d);_context2.next=21;break;case 18:_context2.prev=18;_context2.t0=_context2["catch"](3);this.fallbackPositioning();case 21:case"end":return _context2.stop();}},_callee,this,[[3,18]]);}));function computePosition(){return _computePosition.apply(this,arguments);}return computePosition;}()},{key:"fallbackPositioning",value:function fallbackPositioning(){if(!this.portalContainer)return;var t=(this.component.combobox||this.component).getBoundingClientRect(),i=window.innerHeight-t.bottom,s=t.top;var o,e,a;s>i?(e=Math.max(s-20,100),o=Math.max(t.top-e-4,10),a="top"):(e=Math.max(i-20,100),o=t.bottom+4,a="bottom"),Object.assign(this.portalContainer.style,{left:"".concat(t.left,"px"),top:"".concat(o,"px"),width:"".concat(t.width,"px"),maxHeight:"".concat(e,"px"),pointerEvents:"auto"}),this.portalContainer.className="nile-combobox-portal combobox__listbox--".concat(a),this.portalContainer.style.setProperty("--auto-size-available-height","".concat(e,"px")),this.portalContainer.style.setProperty("--auto-size-available-width","".concat(t.width,"px"));}},{key:"extractStylesAsCSS",value:function extractStylesAsCSS(t){var _this2=this;return"string"==typeof t?t:Array.isArray(t)?t.map(function(t){return _this2.extractStylesAsCSS(t);}).join("\n"):t&&"object"==_typeof(t)&&t.cssText?t.cssText:"";}},{key:"injectStyles",value:function injectStyles(){if(!this.portalContainer)return;var t="nile-combobox-styles-".concat(Math.random().toString(36).substring(2,11));if(document.getElementById(t))return;var i=this.component.constructor.styles;if(!i)return;var s=document.createElement("style");s.id=t,s.textContent=this.extractStylesAsCSS(i),document.head.appendChild(s),this.portalContainer.t=t;}},{key:"setupPortal",value:function setupPortal(){var _this3=this;this.component.portal&&this.component.updateComplete.then(function(){var _this3$component$shad;var t=(_this3$component$shad=_this3.component.shadowRoot)===null||_this3$component$shad===void 0?void 0:_this3$component$shad.querySelector("#listbox");t&&(_this3.originalListboxParent=t.parentElement,_this3.portalContainer=_this3.createPortalContainer(),_this3.portalContainer.appendChild(t),document.body.appendChild(_this3.portalContainer),_this3.injectStyles(),t.style.display="",_this3.computePosition(),_this3.cleanupAutoUpdate=n(_this3.component,_this3.portalContainer,function(){return _this3.computePosition();},{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,animationFrame:!0}));});}},{key:"cleanupPortal",value:function cleanupPortal(){if(this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=null),this.portalContainer&&this.portalContainer.parentNode){var _document$getElementB;var _t=this.portalContainer.querySelector("#listbox");_t&&this.originalListboxParent&&(this.originalListboxParent.appendChild(_t),_t.style.display=this.component.portal?"none":"");var _i=this.portalContainer.t;_i&&(_document$getElementB=document.getElementById(_i))!==null&&_document$getElementB!==void 0&&_document$getElementB.remove(),this.portalContainer.parentNode.removeChild(this.portalContainer);}this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.currentPlacement="bottom";}},{key:"updatePosition",value:function updatePosition(){this.component.portal&&this.portalContainer&&this.computePosition();}},{key:"resetMeasuredHeight",value:function resetMeasuredHeight(){this.measuredPopupHeight=null;}},{key:"resetScrollPosition",value:function(){var _resetScrollPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var _this4=this;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return this.component.updateComplete;case 2:requestAnimationFrame(function(){var _this4$component$shad;var t=null;if(t=_this4.component.portal&&_this4.portalContainer?_this4.portalContainer.querySelector("#listbox"):(_this4$component$shad=_this4.component.shadowRoot)===null||_this4$component$shad===void 0?void 0:_this4$component$shad.querySelector("#listbox"),!t||!t.isConnected)return;t.scrollTop=0;var i=t.querySelector(".virtualized");if(i&&i.isConnected){var _this4$component$filt;((_this4$component$filt=_this4.component.filteredData)===null||_this4$component$filt===void 0?void 0:_this4$component$filt.length)<5?(i.style.overflowY="hidden",i.style.maxHeight="none",t.style.overflowY="hidden",t.style.maxHeight="fit-content"):(i.style.overflowY="auto",i.style.maxHeight="",t.style.overflowY="auto",t.style.maxHeight=""),i.scrollTop=0;}var s=t.querySelector("lit-virtualizer");s&&s.isConnected&&(s.scrollTop=0);});case 3:case"end":return _context3.stop();}},_callee2,this);}));function resetScrollPosition(){return _resetScrollPosition.apply(this,arguments);}return resetScrollPosition;}()}]);}());}};});
1
+ System.register(["../floating-ui.dom-007bbe96.cjs.js","../nile-select/portal-utils.cjs.js"],function(_export,_context){"use strict";var t,i,s,o,e,a,n,l,h;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}return{setters:[function(_floatingUiDom002CjsJs){t=_floatingUiDom002CjsJs.c;i=_floatingUiDom002CjsJs.o;s=_floatingUiDom002CjsJs.s;o=_floatingUiDom002CjsJs.f;e=_floatingUiDom002CjsJs.a;a=_floatingUiDom002CjsJs.p;n=_floatingUiDom002CjsJs.b;},function(_nileSelectPortalUtilsCjsJs){l=_nileSelectPortalUtilsCjsJs.P;}],execute:function execute(){_export("C",h=/*#__PURE__*/function(){function h(t){_classCallCheck(this,h);this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.cleanupAutoUpdate=null,this.currentPlacement="bottom",this.component=t;}return _createClass(h,[{key:"portalContainerElement",get:function get(){return this.portalContainer;}},{key:"createPortalContainer",value:function createPortalContainer(){var t=document.createElement("div");return t.style.position="absolute",t.style.zIndex="9999",t.style.pointerEvents="none",t.className="nile-combobox-portal",t;}},{key:"computePosition",value:function(){var _computePosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var _this=this;var n,_h,r,c,_yield$t,p,u,b,m,x;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(this.portalContainer){_context2.next=2;break;}return _context2.abrupt("return");case 2:n=this.component.combobox||this.component,_h=this.portalContainer;_context2.prev=3;r=l.findBoundaryElements(n);c=l.getOptimalPlacement(n);_context2.next=8;return t(n,_h,{placement:c,strategy:"fixed",middleware:[i(4),s({apply:function apply(_ref){var t=_ref.availableWidth,i=_ref.availableHeight,s=_ref.elements,o=_ref.rects;var e=l.calculateOptimalHeight(o.reference,window.innerHeight,_this.currentPlacement);s.floating.style.maxWidth="".concat(t,"px"),s.floating.style.maxHeight="".concat(e,"px"),s.floating.style.setProperty("--auto-size-available-width","".concat(t,"px")),s.floating.style.setProperty("--auto-size-available-height","".concat(e,"px"));},padding:10,boundary:r}),o({fallbackPlacements:["bottom","top","bottom-start","top-start"],fallbackStrategy:"bestFit",padding:10,boundary:r}),e({padding:10,crossAxis:!0,boundary:r})],platform:a});case 8:_yield$t=_context2.sent;p=_yield$t.x;u=_yield$t.y;b=_yield$t.placement;m=n.getBoundingClientRect();Object.assign(_h.style,{left:"".concat(p,"px"),top:"".concat(u,"px"),position:"fixed",pointerEvents:"auto",width:"".concat(m.width,"px")}),this.currentPlacement=b;x=b.split("-")[0];_h.className="nile-combobox-portal combobox__listbox--".concat(x);_context2.next=21;break;case 18:_context2.prev=18;_context2.t0=_context2["catch"](3);this.fallbackPositioning();case 21:case"end":return _context2.stop();}},_callee,this,[[3,18]]);}));function computePosition(){return _computePosition.apply(this,arguments);}return computePosition;}()},{key:"fallbackPositioning",value:function fallbackPositioning(){if(!this.portalContainer)return;var t=(this.component.combobox||this.component).getBoundingClientRect(),i=window.innerHeight-t.bottom,s=t.top;var o,e,a;s>i?(e=Math.max(s-20,100),o=Math.max(t.top-e-4,10),a="top"):(e=Math.max(i-20,100),o=t.bottom+4,a="bottom"),Object.assign(this.portalContainer.style,{left:"".concat(t.left,"px"),top:"".concat(o,"px"),width:"".concat(t.width,"px"),maxHeight:"".concat(e,"px"),pointerEvents:"auto"}),this.portalContainer.className="nile-combobox-portal combobox__listbox--".concat(a),this.portalContainer.style.setProperty("--auto-size-available-height","".concat(e,"px")),this.portalContainer.style.setProperty("--auto-size-available-width","".concat(t.width,"px"));}},{key:"extractStylesAsCSS",value:function extractStylesAsCSS(t){var _this2=this;return"string"==typeof t?t:Array.isArray(t)?t.map(function(t){return _this2.extractStylesAsCSS(t);}).join("\n"):t&&"object"==_typeof(t)&&t.cssText?t.cssText:"";}},{key:"injectStyles",value:function injectStyles(){if(!this.portalContainer)return;var t="nile-combobox-styles-".concat(Math.random().toString(36).substring(2,11));if(document.getElementById(t))return;var i=this.component.constructor.styles;if(!i)return;var s=document.createElement("style");s.id=t,s.textContent=this.extractStylesAsCSS(i),document.head.appendChild(s),this.portalContainer.t=t;}},{key:"setupPortal",value:function setupPortal(){var _this3=this;this.component.portal&&this.component.updateComplete.then(function(){var _this3$component$shad;var t=(_this3$component$shad=_this3.component.shadowRoot)===null||_this3$component$shad===void 0?void 0:_this3$component$shad.querySelector("#listbox");t&&(_this3.originalListboxParent=t.parentElement,_this3.portalContainer=_this3.createPortalContainer(),_this3.portalContainer.appendChild(t),document.body.appendChild(_this3.portalContainer),_this3.injectStyles(),t.style.display="",_this3.computePosition(),_this3.cleanupAutoUpdate=n(_this3.component,_this3.portalContainer,function(){return _this3.computePosition();},{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,animationFrame:!0}));});}},{key:"cleanupPortal",value:function cleanupPortal(){if(this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=null),this.portalContainer&&this.portalContainer.parentNode){var _document$getElementB;var _t=this.portalContainer.querySelector("#listbox");_t&&this.originalListboxParent&&(this.originalListboxParent.appendChild(_t),_t.style.display=this.component.portal?"none":"");var _i=this.portalContainer.t;_i&&(_document$getElementB=document.getElementById(_i))!==null&&_document$getElementB!==void 0&&_document$getElementB.remove(),this.portalContainer.parentNode.removeChild(this.portalContainer);}this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.currentPlacement="bottom";}},{key:"updatePosition",value:function updatePosition(){this.component.portal&&this.portalContainer&&this.computePosition();}},{key:"resetMeasuredHeight",value:function resetMeasuredHeight(){this.measuredPopupHeight=null;}},{key:"resetScrollPosition",value:function(){var _resetScrollPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var _this4=this;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return this.component.updateComplete;case 2:requestAnimationFrame(function(){var _this4$component$shad,_t$querySelector;var t=null;if(t=_this4.component.portal&&_this4.portalContainer?_this4.portalContainer.querySelector("#listbox"):(_this4$component$shad=_this4.component.shadowRoot)===null||_this4$component$shad===void 0?void 0:_this4$component$shad.querySelector("#listbox"),!t||!t.isConnected)return;((_t$querySelector=t.querySelector(".combobox__options-scroll"))!==null&&_t$querySelector!==void 0?_t$querySelector:t).scrollTop=0;});case 3:case"end":return _context3.stop();}},_callee2,this);}));function resetScrollPosition(){return _resetScrollPosition.apply(this,arguments);}return resetScrollPosition;}()}]);}());}};});
2
2
  //# sourceMappingURL=portal-manager.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"portal-manager.cjs.js","sources":["../../../src/nile-combobox/portal-manager.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n size,\n platform,\n type Placement,\n type MiddlewareData,\n type ComputePositionConfig,\n} from '@floating-ui/dom';\nimport { PortalUtils } from '../nile-select/portal-utils';\n\nexport class ComboboxPortalManager {\n private portalContainer: HTMLElement | null = null;\n private originalListboxParent: HTMLElement | null = null;\n private measuredPopupHeight: number | null = null;\n private component: any;\n private cleanupAutoUpdate: (() => void) | null = null;\n private currentPlacement: Placement = 'bottom';\n\n constructor(component: any) {\n this.component = component;\n }\n\n get portalContainerElement(): HTMLElement | null {\n return this.portalContainer;\n }\n\n private createPortalContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = 'nile-combobox-portal';\n return container;\n }\n\n private async computePosition(): Promise<void> {\n if (!this.portalContainer) return;\n\n const referenceElement = this.component.combobox || this.component;\n const floatingElement = this.portalContainer;\n\n try {\n const boundary = PortalUtils.findBoundaryElements(referenceElement);\n const initialPlacement = PortalUtils.getOptimalPlacement(referenceElement);\n\n const { x, y, placement } = await computePosition(\n referenceElement,\n floatingElement,\n {\n placement: initialPlacement,\n strategy: 'fixed',\n middleware: [\n offset(4),\n size({\n apply: ({ availableWidth, availableHeight, elements, rects }) => {\n const maxHeight = PortalUtils.calculateOptimalHeight(\n rects.reference,\n window.innerHeight,\n this.currentPlacement,\n );\n elements.floating.style.maxWidth = `${availableWidth}px`;\n elements.floating.style.maxHeight = `${maxHeight}px`;\n elements.floating.style.setProperty('--auto-size-available-width', `${availableWidth}px`);\n elements.floating.style.setProperty('--auto-size-available-height', `${maxHeight}px`);\n },\n padding: 10,\n boundary,\n }),\n flip({\n fallbackPlacements: ['bottom', 'top', 'bottom-start', 'top-start'],\n fallbackStrategy: 'bestFit',\n padding: 10,\n boundary,\n }),\n shift({ padding: 10, crossAxis: true, boundary }),\n ],\n platform,\n },\n );\n\n const referenceRect = referenceElement.getBoundingClientRect();\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n pointerEvents: 'auto',\n width: `${referenceRect.width}px`,\n });\n\n this.currentPlacement = placement;\n const placementClass = placement.split('-')[0];\n floatingElement.className = `nile-combobox-portal combobox__listbox--${placementClass}`;\n } catch {\n this.fallbackPositioning();\n }\n }\n\n private fallbackPositioning(): void {\n if (!this.portalContainer) return;\n\n const ref = this.component.combobox || this.component;\n const rect = ref.getBoundingClientRect();\n const vh = window.innerHeight;\n const spaceBelow = vh - rect.bottom;\n const spaceAbove = rect.top;\n\n let top: number;\n let maxH: number;\n let cls: string;\n\n if (spaceAbove > spaceBelow) {\n maxH = Math.max(spaceAbove - 20, 100);\n top = Math.max(rect.top - maxH - 4, 10);\n cls = 'top';\n } else {\n maxH = Math.max(spaceBelow - 20, 100);\n top = rect.bottom + 4;\n cls = 'bottom';\n }\n\n Object.assign(this.portalContainer.style, {\n left: `${rect.left}px`,\n top: `${top}px`,\n width: `${rect.width}px`,\n maxHeight: `${maxH}px`,\n pointerEvents: 'auto',\n });\n this.portalContainer.className = `nile-combobox-portal combobox__listbox--${cls}`;\n this.portalContainer.style.setProperty('--auto-size-available-height', `${maxH}px`);\n this.portalContainer.style.setProperty('--auto-size-available-width', `${rect.width}px`);\n }\n\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') return styles;\n if (Array.isArray(styles)) return styles.map(s => this.extractStylesAsCSS(s)).join('\\n');\n if (styles && typeof styles === 'object' && styles.cssText) return styles.cssText;\n return '';\n }\n\n private injectStyles(): void {\n if (!this.portalContainer) return;\n const styleId = `nile-combobox-styles-${Math.random().toString(36).substring(2, 11)}`;\n if (document.getElementById(styleId)) return;\n\n const componentStyles = (this.component.constructor as any).styles;\n if (!componentStyles) return;\n\n const el = document.createElement('style');\n el.id = styleId;\n el.textContent = this.extractStylesAsCSS(componentStyles);\n document.head.appendChild(el);\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n\n setupPortal(): void {\n if (!this.component.portal) return;\n\n this.component.updateComplete.then(() => {\n const listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n if (!listbox) return;\n\n this.originalListboxParent = listbox.parentElement as HTMLElement;\n this.portalContainer = this.createPortalContainer();\n this.portalContainer.appendChild(listbox);\n document.body.appendChild(this.portalContainer);\n this.injectStyles();\n listbox.style.display = '';\n this.computePosition();\n\n this.cleanupAutoUpdate = autoUpdate(\n this.component,\n this.portalContainer,\n () => this.computePosition(),\n { ancestorScroll: true, ancestorResize: true, elementResize: true, layoutShift: true, animationFrame: true },\n );\n });\n }\n\n cleanupPortal(): void {\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n\n if (this.portalContainer && this.portalContainer.parentNode) {\n const listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n if (listbox && this.originalListboxParent) {\n this.originalListboxParent.appendChild(listbox);\n listbox.style.display = this.component.portal ? 'none' : '';\n }\n\n const sid = (this.portalContainer as any).__injectedStyleId;\n if (sid) document.getElementById(sid)?.remove();\n\n this.portalContainer.parentNode.removeChild(this.portalContainer);\n }\n\n this.portalContainer = null;\n this.originalListboxParent = null;\n this.measuredPopupHeight = null;\n this.currentPlacement = 'bottom';\n }\n\n updatePosition(): void {\n if (this.component.portal && this.portalContainer) {\n this.computePosition();\n }\n }\n\n resetMeasuredHeight(): void {\n this.measuredPopupHeight = null;\n }\n\n async resetScrollPosition(): Promise<void> {\n await this.component.updateComplete;\n\n requestAnimationFrame(() => {\n let listbox: HTMLElement | null = null;\n\n if (this.component.portal && this.portalContainer) {\n listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n } else {\n listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n }\n\n if (!listbox || !listbox.isConnected) return;\n listbox.scrollTop = 0;\n\n const virtualized = listbox.querySelector('.virtualized') as HTMLElement;\n if (virtualized && virtualized.isConnected) {\n const fewItems = this.component.filteredData?.length < 5;\n if (fewItems) {\n virtualized.style.overflowY = 'hidden';\n virtualized.style.maxHeight = 'none';\n listbox.style.overflowY = 'hidden';\n listbox.style.maxHeight = 'fit-content';\n } else {\n virtualized.style.overflowY = 'auto';\n virtualized.style.maxHeight = '';\n listbox.style.overflowY = 'auto';\n listbox.style.maxHeight = '';\n }\n virtualized.scrollTop = 0;\n }\n\n const virtualizer = listbox.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer && virtualizer.isConnected) {\n virtualizer.scrollTop = 0;\n }\n });\n }\n}\n"],"names":["ComboboxPortalManager","h","component","this","portalContainer","originalListboxParent","measuredPopupHeight","cleanupAutoUpdate","currentPlacement","_createClass","key","get","portalContainerElement","value","createPortalContainer","container","document","createElement","style","position","zIndex","pointerEvents","className","_computePosition","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this","n","_h","r","c","_yield$t","u","p","b","m","d","wrap","_callee$","_context2","prev","next","abrupt","referenceElement","combobox","floatingElement","boundary","PortalUtils","findBoundaryElements","initialPlacement","getOptimalPlacement","computePosition","placement","strategy","middleware","offset","size","apply","availableWidth","elements","availableHeight","rects","maxHeight","calculateOptimalHeight","reference","window","innerHeight","floating","maxWidth","setProperty","concat","padding","flip","fallbackPlacements","fallbackStrategy","shift","crossAxis","platform","x","y","referenceRect","getBoundingClientRect","Object","assign","left","top","width","placementClass","split","t0","fallbackPositioning","stop","rect","spaceBelow","bottom","spaceAbove","maxH","cls","Math","max","extractStylesAsCSS","styles","Array","isArray","map","s","join","_typeof","cssText","injectStyles","styleId","random","toString","substring","getElementById","componentStyles","constructor","el","id","textContent","head","appendChild","__injectedStyleId","setupPortal","portal","updateComplete","then","_this3$component$shad","listbox","shadowRoot","querySelector","parentElement","body","display","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","cleanupPortal","parentNode","_document$getElementB","sid","remove","removeChild","updatePosition","resetMeasuredHeight","_resetScrollPosition","_callee2","_this4","_callee2$","_context3","requestAnimationFrame","_this4$component$shad","isConnected","scrollTop","virtualized","_this4$component$filt","filteredData","length","overflowY","virtualizer","resetScrollPosition"],"mappings":"ykTAqBaA,0BAQX,SAAAC,EAAYC,CAPJC,CAAAA,CAAAA,eAAAA,MAAAA,CAAAA,EAAAA,IAAAA,CAAeC,gBAAuB,IACtCD,CAAAA,IAAAA,CAAqBE,qBAAuB,CAAA,IAAA,CAC5CF,KAAmBG,mBAAkB,CAAA,IAAA,CAErCH,IAAiBI,CAAAA,iBAAAA,CAAwB,KACzCJ,IAAgBK,CAAAA,gBAAAA,CAAc,QAGpCL,CAAAA,IAAAA,CAAKD,UAAYA,CAClB,EAED,OAAAO,YAAA,CAAAR,CAAA,GAAAS,GAAA,0BAAAC,GAAA,UAAAA,IAAA,CAAIC,CACF,MAAOT,KAAKC,CAAAA,eACb,EAEO,GAAAM,GAAA,yBAAAG,KAAA,UAAAC,qBAAAA,CAAAA,EACN,GAAMC,CAAAA,CAAAA,CAAYC,QAASC,CAAAA,aAAAA,CAAc,OAKzC,MAJAF,CAAAA,CAAAA,CAAUG,KAAMC,CAAAA,QAAAA,CAAW,WAC3BJ,CAAUG,CAAAA,KAAAA,CAAME,MAAS,CAAA,MAAA,CACzBL,EAAUG,KAAMG,CAAAA,aAAAA,CAAgB,MAChCN,CAAAA,CAAAA,CAAUO,UAAY,sBACfP,CAAAA,CACR,EAEO,GAAAL,GAAA,mBAAAG,KAAA,gBAAAU,gBAAA,CAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,UAAAC,QAAA,MAAAC,KAAA,UAAAC,CAAA,CAAAC,EAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,QAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,QAAAb,mBAAA,GAAAc,IAAA,UAAAC,SAAAC,SAAA,iBAAAA,SAAA,CAAAC,IAAA,CAAAD,SAAA,CAAAE,IAAA,YACDxC,IAAAA,CAAKC,eAAiB,EAAAqC,SAAA,CAAAE,IAAA,iBAAAF,SAAA,CAAAG,MAAA,kBAErBC,CAAmB1C,CAAAA,IAAAA,CAAKD,SAAU4C,CAAAA,QAAAA,EAAY3C,KAAKD,SACnD6C,CAAAA,EAAAA,CAAkB5C,IAAKC,CAAAA,eAAAA,CAAAA,SAAAA,CAAAA,IAAAA,GAGrB4C,CAAAA,CAAWC,CAAYC,CAAAA,oBAAAA,CAAqBL,GAC5CM,CAAmBF,CAAAA,CAAAA,CAAYG,mBAAoBP,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,IAAAA,SAEvBQ,CAAAA,CAChCR,CAAAA,CAAAA,CACAE,EACA,CAAA,CACEO,UAAWH,CACXI,CAAAA,QAAAA,CAAU,OACVC,CAAAA,UAAAA,CAAY,CACVC,CAAO,CAAA,CAAA,CAAA,CACPC,CAAK,CAAA,CACHC,MAAO,QAAPA,CAAAA,eAAUC,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,cAAAA,CAAiCC,CAAAA,CAAAA,IAAAA,CAAjBC,eAAiBD,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,QAAAA,QAAUE,MACnD,GAAMC,CAAAA,CAAAA,CAAYf,CAAYgB,CAAAA,sBAAAA,CAC5BF,EAAMG,SACNC,CAAAA,MAAAA,CAAOC,WACPjE,CAAAA,KAAAA,CAAKK,kBAEPqD,CAASQ,CAAAA,QAAAA,CAASnD,KAAMoD,CAAAA,QAAAA,IAAAA,MAAAA,CAAcV,CACtCC,MAAAA,CAAAA,CAAAA,CAASQ,QAASnD,CAAAA,KAAAA,CAAM8C,oBAAeA,CAAAA,MAAAA,CACvCH,CAASQ,CAAAA,QAAAA,CAASnD,MAAMqD,WAAY,CAAA,6BAAA,IAAAC,MAAA,CAAkCZ,CAAAA,MAAAA,CAAAA,CACtEC,EAASQ,QAASnD,CAAAA,KAAAA,CAAMqD,WAAY,CAAA,8BAAA,IAAAC,MAAA,CAAmCR,CAAc,MAAA,CAAA,EAAA,CAEvFS,QAAS,EACTzB,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEF0B,EAAK,CACHC,kBAAAA,CAAoB,CAAC,QAAA,CAAU,MAAO,cAAgB,CAAA,WAAA,CAAA,CACtDC,gBAAkB,CAAA,SAAA,CAClBH,QAAS,EACTzB,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEF6B,CAAM,CAAA,CAAEJ,QAAS,EAAIK,CAAAA,SAAAA,CAAAA,CAAW,CAAM9B,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAExC+B,4CA/BIC,CAACC,CAAAA,QAAAA,CAAHD,EAAKC,CAAC3B,CAAAA,QAAAA,CAAH2B,CAAAA,CAAK3B,WAAFA,SAAAA,CAmCN4B,CAAgBrC,CAAAA,CAAAA,CAAiBsC,qBACvCC,CAAAA,CAAAA,CAAAA,MAAAA,CAAOC,OAAOtC,EAAgB7B,CAAAA,KAAAA,CAAO,CACnCoE,IAAAA,IAAAA,MAAAA,CAASN,CACTO,MAAAA,CAAAA,GAAAA,IAAAA,MAAAA,CAAQN,CAAAA,MAAAA,CACR9D,SAAU,OACVE,CAAAA,aAAAA,CAAe,MACfmE,CAAAA,KAAAA,IAAAA,MAAAA,CAAUN,CAAcM,CAAAA,KAAAA,MAAAA,CAAAA,CAAAA,CAG1BrF,IAAKK,CAAAA,gBAAAA,CAAmB8C,EAClBmC,CAAAA,CAAiBnC,CAAUoC,CAAAA,KAAAA,CAAM,KAAK,CAC5C3C,CAAAA,CAAAA,EAAAA,CAAgBzB,SAAY,4CAAAkD,MAAA,CAA2CiB,EACxE,CAAAhD,SAAA,CAAAE,IAAA,kBAAAF,SAAA,CAAAC,IAAA,IAAAD,SAAA,CAAAkD,EAAA,CAAAlD,SAAA,aACCtC,IAAKyF,CAAAA,mBAAAA,CAAAA,CACN,0BAAAnD,SAAA,CAAAoD,IAAA,MAAAlE,OAAA,iBAGK,WA9DA,CAAA0B,eAAMA,CAAAA,SAAAA,gBAAAA,CAAAA,KAAAA,MAAAA,SAAAA,SAAN,CAAAA,eAAMA,OAAAA,GAAAA,uBAAAA,KAAAA,CA8DN,SAAAuC,mBAAAA,CAAAA,CACN,CAAA,GAAA,CAAKzF,KAAKC,eAAiB,CAAA,OAE3B,GACM0F,CAAAA,CAAAA,CAAAA,CADM3F,KAAKD,SAAU4C,CAAAA,QAAAA,EAAY3C,IAAKD,CAAAA,SAAAA,EAC3BiF,wBAEXY,CADK5B,CAAAA,MAAAA,CAAOC,WACM0B,CAAAA,CAAAA,CAAKE,OACvBC,CAAaH,CAAAA,CAAAA,CAAKP,GAExB,CAAA,GAAIA,CAAAA,EACAW,CACAC,CAAAA,CAAAA,CAEAF,CAAaF,CAAAA,CAAAA,EACfG,EAAOE,IAAKC,CAAAA,GAAAA,CAAIJ,CAAa,CAAA,EAAA,CAAI,KACjCV,CAAMa,CAAAA,IAAAA,CAAKC,GAAIP,CAAAA,CAAAA,CAAKP,IAAMW,CAAO,CAAA,CAAA,CAAG,EACpCC,CAAAA,CAAAA,CAAAA,CAAM,QAEND,CAAOE,CAAAA,IAAAA,CAAKC,GAAIN,CAAAA,CAAAA,CAAa,GAAI,GACjCR,CAAAA,CAAAA,CAAAA,CAAMO,CAAKE,CAAAA,MAAAA,CAAS,EACpBG,CAAM,CAAA,QAAA,CAAA,CAGRf,MAAOC,CAAAA,MAAAA,CAAOlF,KAAKC,eAAgBc,CAAAA,KAAAA,CAAO,CACxCoE,IAAAA,IAAAA,MAAAA,CAASQ,CAAKR,CAAAA,IAAAA,MAAAA,CACdC,GAAK,IAAAf,MAAA,CAAGe,QACRC,KAAO,IAAAhB,MAAA,CAAGsB,CAAKN,CAAAA,KAAAA,MAAAA,CACfxB,oBAAckC,CAAAA,MAAAA,CACd7E,aAAe,CAAA,MAAA,CAAA,CAAA,CAEjBlB,KAAKC,eAAgBkB,CAAAA,SAAAA,4CAAAA,MAAAA,CAAuD6E,CAAAA,CAAAA,CAC5EhG,KAAKC,eAAgBc,CAAAA,KAAAA,CAAMqD,WAAY,CAAA,8BAAA,IAAAC,MAAA,CAAmC0B,CAC1E/F,MAAAA,CAAAA,CAAAA,IAAAA,CAAKC,eAAgBc,CAAAA,KAAAA,CAAMqD,YAAY,6BAA+B,IAAAC,MAAA,CAAGsB,EAAKN,KAC/E,MAAA,CAAA,EAEO,GAAA9E,GAAA,sBAAAG,KAAA,UAAAyF,kBAAAA,CAAmBC,CAAAA,CAAAA,KAAAA,MAAAA,MACzB,MAAsB,QAAA,EAAA,MAAXA,CAAAA,EAA4BA,CACnCC,CAAAA,KAAAA,CAAMC,OAAQF,CAAAA,CAAAA,CAAAA,CAAgBA,EAAOG,GAAIC,CAAAA,SAAAA,CAAAA,QAAKxG,CAAAA,MAAKmG,CAAAA,kBAAAA,CAAmBK,MAAIC,IAAK,CAAA,IAAA,CAAA,CAC/EL,CAA4B,EAAA,QAAA,EAAAM,OAAA,CAAXN,IAAuBA,CAAOO,CAAAA,OAAAA,CAAgBP,CAAOO,CAAAA,OAAAA,CACnE,EACR,EAEO,GAAApG,GAAA,gBAAAG,KAAA,UAAAkG,YAAAA,CAAAA,CACN,CAAA,GAAA,CAAK5G,KAAKC,eAAiB,CAAA,OAC3B,GAAM4G,CAAAA,CAAAA,yBAAAA,MAAAA,CAAkCZ,IAAKa,CAAAA,MAAAA,CAAAA,CAAAA,CAASC,QAAS,CAAA,EAAA,CAAA,CAAIC,UAAU,CAAG,CAAA,EAAA,CAAA,CAAA,CAChF,GAAInG,QAAAA,CAASoG,eAAeJ,CAAU,CAAA,CAAA,OAEtC,GAAMK,CAAAA,CAAAA,CAAmBlH,KAAKD,SAAUoH,CAAAA,WAAAA,CAAoBf,MAC5D,CAAA,GAAA,CAAKc,EAAiB,OAEtB,GAAME,CAAAA,CAAKvG,CAAAA,QAAAA,CAASC,cAAc,OAClCsG,CAAAA,CAAAA,CAAAA,CAAGC,EAAKR,CAAAA,CAAAA,CACRO,EAAGE,WAActH,CAAAA,IAAAA,CAAKmG,kBAAmBe,CAAAA,CAAAA,CAAAA,CACzCrG,SAAS0G,IAAKC,CAAAA,WAAAA,CAAYJ,CACzBpH,CAAAA,CAAAA,IAAAA,CAAKC,gBAAwBwH,CAAoBZ,CAAAA,CACnD,EAED,GAAAtG,GAAA,eAAAG,KAAA,UAAAgH,WAAAA,CAAAA,kBACO1H,IAAKD,CAAAA,SAAAA,CAAU4H,MAEpB3H,EAAAA,IAAAA,CAAKD,UAAU6H,cAAeC,CAAAA,IAAAA,CAAK,UACjC,KAAAC,qBAAA,CAAA,GAAMC,CAAAA,yBAAU/H,MAAKD,CAAAA,SAAAA,CAAUiI,UAAYC,UAAAA,qBAAAA,iBAA3BjI,qBAAAA,CAA2BiI,aAAAA,CAAc,YACpDF,CAEL/H,GAAAA,MAAAA,CAAKE,qBAAwB6H,CAAAA,CAAAA,CAAQG,cACrClI,MAAKC,CAAAA,eAAAA,CAAkBD,MAAKW,CAAAA,qBAAAA,CAAAA,CAAAA,CAC5BX,OAAKC,eAAgBuH,CAAAA,WAAAA,CAAYO,CACjClH,CAAAA,CAAAA,QAAAA,CAASsH,KAAKX,WAAYxH,CAAAA,MAAAA,CAAKC,eAC/BD,CAAAA,CAAAA,MAAAA,CAAK4G,eACLmB,CAAQhH,CAAAA,KAAAA,CAAMqH,OAAU,CAAA,EAAA,CACxBpI,OAAKkD,eAELlD,CAAAA,CAAAA,CAAAA,MAAAA,CAAKI,iBAAoBiI,CAAAA,CAAAA,CACvBrI,OAAKD,SACLC,CAAAA,MAAAA,CAAKC,eACL,CAAA,iBAAMD,CAAAA,OAAKkD,eACX,CAAA,CAAA,GAAA,CAAEoF,cAAgB,CAAA,CAAA,CAAA,CAAMC,gBAAgB,CAAMC,CAAAA,aAAAA,CAAAA,CAAe,CAAMC,CAAAA,WAAAA,CAAAA,CAAa,EAAMC,cAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CACvG,EAEJ,CAAA,EAED,GAAAnI,GAAA,iBAAAG,KAAA,UAAAiI,aAAAA,CAAAA,CAME,CAAA,GALI3I,IAAKI,CAAAA,iBAAAA,GACPJ,KAAKI,iBACLJ,CAAAA,CAAAA,CAAAA,IAAAA,CAAKI,iBAAoB,CAAA,IAAA,CAAA,CAGvBJ,KAAKC,eAAmBD,EAAAA,IAAAA,CAAKC,gBAAgB2I,UAAY,CAAA,KAAAC,qBAAA,CAC3D,GAAMd,CAAAA,EAAU/H,CAAAA,IAAAA,CAAKC,eAAgBgI,CAAAA,aAAAA,CAAc,YAC/CF,EAAW/H,EAAAA,IAAAA,CAAKE,qBAClBF,GAAAA,IAAAA,CAAKE,sBAAsBsH,WAAYO,CAAAA,EAAAA,CAAAA,CACvCA,EAAQhH,CAAAA,KAAAA,CAAMqH,QAAUpI,IAAKD,CAAAA,SAAAA,CAAU4H,MAAS,CAAA,MAAA,CAAS,IAG3D,GAAMmB,CAAAA,EAAAA,CAAO9I,IAAKC,CAAAA,eAAAA,CAAwBwH,EACtCqB,EAAKjI,GAAAA,qBAAAA,CAAAA,QAAAA,CAASoG,cAAe6B,CAAAA,EAAAA,CAAAA,UAAAA,qBAAAA,WAAxBjI,qBAAAA,CAA8BkI,SAEvC/I,IAAKC,CAAAA,eAAAA,CAAgB2I,UAAWI,CAAAA,WAAAA,CAAYhJ,KAAKC,eAClD,CAAA,EAEDD,IAAKC,CAAAA,eAAAA,CAAkB,KACvBD,IAAKE,CAAAA,qBAAAA,CAAwB,IAC7BF,CAAAA,IAAAA,CAAKG,oBAAsB,IAC3BH,CAAAA,IAAAA,CAAKK,gBAAmB,CAAA,QACzB,EAED,GAAAE,GAAA,kBAAAG,KAAA,UAAAuI,cAAAA,CAAAA,CAAAA,CACMjJ,IAAKD,CAAAA,SAAAA,CAAU4H,QAAU3H,IAAKC,CAAAA,eAAAA,EAChCD,IAAKkD,CAAAA,eAAAA,CAAAA,CAER,EAED,GAAA3C,GAAA,uBAAAG,KAAA,UAAAwI,mBAAAA,CAAAA,CAAAA,CACElJ,IAAKG,CAAAA,mBAAAA,CAAsB,IAC5B,EAED,GAAAI,GAAA,uBAAAG,KAAA,gBAAAyI,oBAAA,CAAA9H,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,UAAA6H,SAAA,MAAAC,MAAA,aAAA/H,mBAAA,GAAAc,IAAA,UAAAkH,UAAAC,SAAA,iBAAAA,SAAA,CAAAhH,IAAA,CAAAgH,SAAA,CAAA/G,IAAA,SAAA+G,SAAA,CAAA/G,IAAA,SACQxC,KAAAA,CAAKD,UAAU6H,cAErB4B,QAAAA,qBAAAA,CAAsB,UACpB,KAAAC,qBAAA,CAAA,GAAI1B,CAAAA,EAA8B,IAQlC,CAAA,GALEA,EADE/H,MAAKD,CAAAA,SAAAA,CAAU4H,QAAU3H,MAAKC,CAAAA,eAAAA,CACtBD,MAAKC,CAAAA,eAAAA,CAAgBgI,cAAc,UAEnCjI,CAAAA,EAAAA,qBAAAA,CAAAA,MAAAA,CAAKD,SAAUiI,CAAAA,UAAAA,UAAAA,qBAAAA,iBAAfhI,qBAAAA,CAA2BiI,cAAc,UAGhDF,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAYA,CAAQ2B,CAAAA,WAAAA,CAAa,OACtC3B,CAAQ4B,CAAAA,SAAAA,CAAY,CAEpB,CAAA,GAAMC,CAAAA,EAAc7B,CAAQE,CAAAA,aAAAA,CAAc,cAC1C,CAAA,CAAA,GAAI2B,GAAeA,CAAYF,CAAAA,WAAAA,CAAa,KAAAG,qBAAA,CACzB7J,EAAAA,qBAAAA,CAAAA,MAAAA,CAAKD,UAAU+J,YAAcC,UAAAA,qBAAAA,iBAA7B/J,qBAAAA,CAA6B+J,MAAAA,EAAS,CAErDH,EAAAA,CAAAA,CAAY7I,MAAMiJ,SAAY,CAAA,QAAA,CAC9BJ,CAAY7I,CAAAA,KAAAA,CAAM8C,UAAY,MAC9BkE,CAAAA,CAAAA,CAAQhH,KAAMiJ,CAAAA,SAAAA,CAAY,SAC1BjC,CAAQhH,CAAAA,KAAAA,CAAM8C,SAAY,CAAA,aAAA,GAE1B+F,EAAY7I,KAAMiJ,CAAAA,SAAAA,CAAY,MAC9BJ,CAAAA,CAAAA,CAAY7I,MAAM8C,SAAY,CAAA,EAAA,CAC9BkE,CAAQhH,CAAAA,KAAAA,CAAMiJ,UAAY,MAC1BjC,CAAAA,CAAAA,CAAQhH,KAAM8C,CAAAA,SAAAA,CAAY,IAE5B+F,CAAYD,CAAAA,SAAAA,CAAY,CACzB,EAED,GAAMM,CAAAA,CAAclC,CAAAA,CAAAA,CAAQE,aAAc,CAAA,iBAAA,CAAA,CACtCgC,GAAeA,CAAYP,CAAAA,WAAAA,GAC7BO,EAAYN,SAAY,CAAA,CAAA,CACzB,GAEJ,yBAAAJ,SAAA,CAAA7D,IAAA,MAAA0D,QAAA,mBArCD,CAAAc,mBAAMA,CAAAA,SAAAA,oBAAAA,CAAAA,KAAAA,MAAAA,SAAAA,SAAN,CAAAA,mBAAMA"}
1
+ {"version":3,"file":"portal-manager.cjs.js","sources":["../../../src/nile-combobox/portal-manager.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n flip,\n offset,\n shift,\n size,\n platform,\n type Placement,\n type MiddlewareData,\n type ComputePositionConfig,\n} from '@floating-ui/dom';\nimport { PortalUtils } from '../nile-select/portal-utils';\n\nexport class ComboboxPortalManager {\n private portalContainer: HTMLElement | null = null;\n private originalListboxParent: HTMLElement | null = null;\n private measuredPopupHeight: number | null = null;\n private component: any;\n private cleanupAutoUpdate: (() => void) | null = null;\n private currentPlacement: Placement = 'bottom';\n\n constructor(component: any) {\n this.component = component;\n }\n\n get portalContainerElement(): HTMLElement | null {\n return this.portalContainer;\n }\n\n private createPortalContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = 'nile-combobox-portal';\n return container;\n }\n\n private async computePosition(): Promise<void> {\n if (!this.portalContainer) return;\n\n const referenceElement = this.component.combobox || this.component;\n const floatingElement = this.portalContainer;\n\n try {\n const boundary = PortalUtils.findBoundaryElements(referenceElement);\n const initialPlacement = PortalUtils.getOptimalPlacement(referenceElement);\n\n const { x, y, placement } = await computePosition(\n referenceElement,\n floatingElement,\n {\n placement: initialPlacement,\n strategy: 'fixed',\n middleware: [\n offset(4),\n size({\n apply: ({ availableWidth, availableHeight, elements, rects }) => {\n const maxHeight = PortalUtils.calculateOptimalHeight(\n rects.reference,\n window.innerHeight,\n this.currentPlacement,\n );\n elements.floating.style.maxWidth = `${availableWidth}px`;\n elements.floating.style.maxHeight = `${maxHeight}px`;\n elements.floating.style.setProperty('--auto-size-available-width', `${availableWidth}px`);\n elements.floating.style.setProperty('--auto-size-available-height', `${maxHeight}px`);\n },\n padding: 10,\n boundary,\n }),\n flip({\n fallbackPlacements: ['bottom', 'top', 'bottom-start', 'top-start'],\n fallbackStrategy: 'bestFit',\n padding: 10,\n boundary,\n }),\n shift({ padding: 10, crossAxis: true, boundary }),\n ],\n platform,\n },\n );\n\n const referenceRect = referenceElement.getBoundingClientRect();\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n pointerEvents: 'auto',\n width: `${referenceRect.width}px`,\n });\n\n this.currentPlacement = placement;\n const placementClass = placement.split('-')[0];\n floatingElement.className = `nile-combobox-portal combobox__listbox--${placementClass}`;\n } catch {\n this.fallbackPositioning();\n }\n }\n\n private fallbackPositioning(): void {\n if (!this.portalContainer) return;\n\n const ref = this.component.combobox || this.component;\n const rect = ref.getBoundingClientRect();\n const vh = window.innerHeight;\n const spaceBelow = vh - rect.bottom;\n const spaceAbove = rect.top;\n\n let top: number;\n let maxH: number;\n let cls: string;\n\n if (spaceAbove > spaceBelow) {\n maxH = Math.max(spaceAbove - 20, 100);\n top = Math.max(rect.top - maxH - 4, 10);\n cls = 'top';\n } else {\n maxH = Math.max(spaceBelow - 20, 100);\n top = rect.bottom + 4;\n cls = 'bottom';\n }\n\n Object.assign(this.portalContainer.style, {\n left: `${rect.left}px`,\n top: `${top}px`,\n width: `${rect.width}px`,\n maxHeight: `${maxH}px`,\n pointerEvents: 'auto',\n });\n this.portalContainer.className = `nile-combobox-portal combobox__listbox--${cls}`;\n this.portalContainer.style.setProperty('--auto-size-available-height', `${maxH}px`);\n this.portalContainer.style.setProperty('--auto-size-available-width', `${rect.width}px`);\n }\n\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') return styles;\n if (Array.isArray(styles)) return styles.map(s => this.extractStylesAsCSS(s)).join('\\n');\n if (styles && typeof styles === 'object' && styles.cssText) return styles.cssText;\n return '';\n }\n\n private injectStyles(): void {\n if (!this.portalContainer) return;\n const styleId = `nile-combobox-styles-${Math.random().toString(36).substring(2, 11)}`;\n if (document.getElementById(styleId)) return;\n\n const componentStyles = (this.component.constructor as any).styles;\n if (!componentStyles) return;\n\n const el = document.createElement('style');\n el.id = styleId;\n el.textContent = this.extractStylesAsCSS(componentStyles);\n document.head.appendChild(el);\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n\n setupPortal(): void {\n if (!this.component.portal) return;\n\n this.component.updateComplete.then(() => {\n const listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n if (!listbox) return;\n\n this.originalListboxParent = listbox.parentElement as HTMLElement;\n this.portalContainer = this.createPortalContainer();\n this.portalContainer.appendChild(listbox);\n document.body.appendChild(this.portalContainer);\n this.injectStyles();\n listbox.style.display = '';\n this.computePosition();\n\n this.cleanupAutoUpdate = autoUpdate(\n this.component,\n this.portalContainer,\n () => this.computePosition(),\n { ancestorScroll: true, ancestorResize: true, elementResize: true, layoutShift: true, animationFrame: true },\n );\n });\n }\n\n cleanupPortal(): void {\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n\n if (this.portalContainer && this.portalContainer.parentNode) {\n const listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n if (listbox && this.originalListboxParent) {\n this.originalListboxParent.appendChild(listbox);\n listbox.style.display = this.component.portal ? 'none' : '';\n }\n\n const sid = (this.portalContainer as any).__injectedStyleId;\n if (sid) document.getElementById(sid)?.remove();\n\n this.portalContainer.parentNode.removeChild(this.portalContainer);\n }\n\n this.portalContainer = null;\n this.originalListboxParent = null;\n this.measuredPopupHeight = null;\n this.currentPlacement = 'bottom';\n }\n\n updatePosition(): void {\n if (this.component.portal && this.portalContainer) {\n this.computePosition();\n }\n }\n\n resetMeasuredHeight(): void {\n this.measuredPopupHeight = null;\n }\n\n async resetScrollPosition(): Promise<void> {\n await this.component.updateComplete;\n\n requestAnimationFrame(() => {\n let listbox: HTMLElement | null = null;\n\n if (this.component.portal && this.portalContainer) {\n listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n } else {\n listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n }\n\n if (!listbox || !listbox.isConnected) return;\n\n const scroller = listbox.querySelector(\n '.combobox__options-scroll',\n ) as HTMLElement | null;\n (scroller ?? listbox).scrollTop = 0;\n });\n }\n}\n"],"names":["ComboboxPortalManager","h","component","this","portalContainer","originalListboxParent","measuredPopupHeight","cleanupAutoUpdate","currentPlacement","_createClass","key","get","value","createPortalContainer","container","document","createElement","style","position","zIndex","pointerEvents","className","_computePosition","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this","n","_h","r","c","_yield$t","p","u","b","m","x","wrap","_callee$","_context2","prev","next","referenceElement","combobox","floatingElement","boundary","PortalUtils","findBoundaryElements","initialPlacement","getOptimalPlacement","computePosition","placement","strategy","middleware","offset","size","apply","rects","availableWidth","availableHeight","elements","maxHeight","calculateOptimalHeight","reference","window","innerHeight","floating","maxWidth","concat","setProperty","padding","flip","fallbackPlacements","fallbackStrategy","shift","crossAxis","platform","y","referenceRect","getBoundingClientRect","Object","assign","left","top","width","placementClass","split","t0","fallbackPositioning","stop","rect","spaceBelow","bottom","spaceAbove","maxH","cls","Math","max","extractStylesAsCSS","styles","Array","isArray","map","s","join","cssText","injectStyles","styleId","random","toString","substring","getElementById","componentStyles","constructor","el","id","textContent","head","appendChild","__injectedStyleId","setupPortal","portal","updateComplete","then","_this3$component$shad","listbox","shadowRoot","querySelector","parentElement","body","display","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","cleanupPortal","parentNode","_document$getElementB","sid","remove","removeChild","updatePosition","resetMeasuredHeight","_resetScrollPosition","_callee2","_this4","_callee2$","_context3","requestAnimationFrame","_this4$component$shad","_t$querySelector","isConnected","scrollTop","resetScrollPosition"],"mappings":"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"}