@aquera/nile-elements 2.0.10 → 2.0.12

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 (104) hide show
  1. package/README.md +6 -0
  2. package/demo/app-shell.html +852 -0
  3. package/demo/nxtgen-classes.css +2 -2
  4. package/demo/nxtgen-properties.css +2 -2
  5. package/demo/nxtgen-utilities.css +2 -2
  6. package/demo/nxtgen.css +2 -2
  7. package/demo/utilities.css +2 -2
  8. package/demo/variables.css +2 -2
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.js +595 -302
  12. package/dist/internal/app-shell-utility-control-styles.cjs.js +2 -0
  13. package/dist/internal/app-shell-utility-control-styles.cjs.js.map +1 -0
  14. package/dist/internal/app-shell-utility-control-styles.esm.js +16 -0
  15. package/dist/nile-app-shell/index.cjs.js +1 -1
  16. package/dist/nile-app-shell/index.esm.js +1 -1
  17. package/dist/nile-app-shell/nile-app-shell.cjs.js +1 -1
  18. package/dist/nile-app-shell/nile-app-shell.cjs.js.map +1 -1
  19. package/dist/nile-app-shell/nile-app-shell.css.cjs.js +1 -1
  20. package/dist/nile-app-shell/nile-app-shell.css.cjs.js.map +1 -1
  21. package/dist/nile-app-shell/nile-app-shell.css.esm.js +277 -96
  22. package/dist/nile-app-shell/nile-app-shell.esm.js +67 -11
  23. package/dist/nile-app-shell/shell-controller.cjs.js.map +1 -1
  24. package/dist/nile-app-shell-main/nile-app-shell-main.cjs.js.map +1 -1
  25. package/dist/nile-app-shell-nav-toggle/index.cjs.js +1 -1
  26. package/dist/nile-app-shell-nav-toggle/index.esm.js +1 -1
  27. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.cjs.js +1 -1
  28. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.cjs.js.map +1 -1
  29. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.cjs.js +1 -1
  30. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.cjs.js.map +1 -1
  31. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.esm.js +7 -3
  32. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.esm.js +3 -3
  33. package/dist/nile-app-shell-panel/index.cjs.js +1 -1
  34. package/dist/nile-app-shell-panel/index.esm.js +1 -1
  35. package/dist/nile-app-shell-panel/nile-app-shell-panel.cjs.js +1 -1
  36. package/dist/nile-app-shell-panel/nile-app-shell-panel.cjs.js.map +1 -1
  37. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.cjs.js +1 -1
  38. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.cjs.js.map +1 -1
  39. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.esm.js +32 -8
  40. package/dist/nile-app-shell-panel/nile-app-shell-panel.esm.js +18 -5
  41. package/dist/nile-app-shell-side-nav/nile-app-shell-side-nav.cjs.js.map +1 -1
  42. package/dist/nile-app-shell-side-nav/nile-app-shell-side-nav.css.cjs.js.map +1 -1
  43. package/dist/src/internal/app-shell-utility-control-styles.d.ts +12 -0
  44. package/dist/src/internal/app-shell-utility-control-styles.js +29 -0
  45. package/dist/src/internal/app-shell-utility-control-styles.js.map +1 -0
  46. package/dist/src/nile-app-shell/nile-app-shell-regions.test.d.ts +3 -0
  47. package/dist/src/nile-app-shell/nile-app-shell-regions.test.js +210 -0
  48. package/dist/src/nile-app-shell/nile-app-shell-regions.test.js.map +1 -1
  49. package/dist/src/nile-app-shell/nile-app-shell.css.d.ts +1 -9
  50. package/dist/src/nile-app-shell/nile-app-shell.css.js +277 -103
  51. package/dist/src/nile-app-shell/nile-app-shell.css.js.map +1 -1
  52. package/dist/src/nile-app-shell/nile-app-shell.d.ts +90 -122
  53. package/dist/src/nile-app-shell/nile-app-shell.js +235 -144
  54. package/dist/src/nile-app-shell/nile-app-shell.js.map +1 -1
  55. package/dist/src/nile-app-shell/nile-app-shell.test.d.ts +4 -0
  56. package/dist/src/nile-app-shell/nile-app-shell.test.js +1116 -29
  57. package/dist/src/nile-app-shell/nile-app-shell.test.js.map +1 -1
  58. package/dist/src/nile-app-shell/shell-controller.d.ts +1 -8
  59. package/dist/src/nile-app-shell/shell-controller.js +2 -14
  60. package/dist/src/nile-app-shell/shell-controller.js.map +1 -1
  61. package/dist/src/nile-app-shell-main/nile-app-shell-main.d.ts +2 -6
  62. package/dist/src/nile-app-shell-main/nile-app-shell-main.js +2 -6
  63. package/dist/src/nile-app-shell-main/nile-app-shell-main.js.map +1 -1
  64. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.d.ts +1 -4
  65. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.js +7 -5
  66. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.js.map +1 -1
  67. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.d.ts +4 -8
  68. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.js +5 -6
  69. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.js.map +1 -1
  70. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.css.js +31 -6
  71. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.css.js.map +1 -1
  72. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.d.ts +18 -13
  73. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.js +45 -16
  74. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.js.map +1 -1
  75. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.d.ts +1 -4
  76. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.js +1 -4
  77. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.js.map +1 -1
  78. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.d.ts +4 -12
  79. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.js +4 -12
  80. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.js.map +1 -1
  81. package/dist/src/version.js +1 -1
  82. package/dist/src/version.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/dist/version.cjs.js +1 -1
  85. package/dist/version.cjs.js.map +1 -1
  86. package/dist/version.esm.js +1 -1
  87. package/package.json +1 -1
  88. package/plop-templates/lit/lit.test.ts.hbs +22 -0
  89. package/plop-templates/lit/lit.ts.hbs +10 -5
  90. package/plopfile.js +12 -0
  91. package/src/internal/app-shell-utility-control-styles.ts +30 -0
  92. package/src/nile-app-shell/nile-app-shell-regions.test.ts +252 -0
  93. package/src/nile-app-shell/nile-app-shell.css.ts +277 -103
  94. package/src/nile-app-shell/nile-app-shell.test.ts +1363 -29
  95. package/src/nile-app-shell/nile-app-shell.ts +249 -149
  96. package/src/nile-app-shell/shell-controller.ts +2 -14
  97. package/src/nile-app-shell-main/nile-app-shell-main.ts +2 -6
  98. package/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.ts +7 -5
  99. package/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.ts +7 -11
  100. package/src/nile-app-shell-panel/nile-app-shell-panel.css.ts +31 -6
  101. package/src/nile-app-shell-panel/nile-app-shell-panel.ts +44 -16
  102. package/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.ts +1 -4
  103. package/src/nile-app-shell-side-nav/nile-app-shell-side-nav.ts +4 -12
  104. package/vscode-html-custom-data.json +85 -18
@@ -1,7 +1,7 @@
1
- import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as n,state as o,query as e,customElement as t}from"lit/decorators.js";import{ifDefined as c}from"lit/directives/if-defined.js";import{s as m}from"./nile-app-shell.css.esm.js";import{r}from"../internal/glyph.esm.js";import{N as l}from"../internal/nile-element.esm.js";import"../nile-button/nile-button.esm.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-icon/index.esm.js";import"lit/directives/class-map.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"../internal/form.esm.js";import"../internal/slot.esm.js";import"../internal/watch.esm.js";import"../nile-button/nile-button.css.esm.js";import"lit/static-html.js";let p=class extends l{constructor(){super(...arguments),this.navCollapsed=!1,this.panelOpen=!1,this.noPanel=!1,this.panelLabel="Ask Aquera",this.noNavToggle=!1,this.noPanelShortcut=!1,this.noSkipLink=!1,this.skipLinkLabel="Skip to main content",this.topBarPlacement="content",this.contentAlign="fluid",this.contentContainer=!1,this.flat=!1,this.noPadding=!1,this.askLabel="Ask",this.noAsk=!1,this.fullHeight=!1,this.overlayBreakpoint=0,this.dockedRailBreakpoint=1440,this._panelMode="docked",this._navLocked=!1,this._hasBanner=!1,this._hasSideNav=!1,this._hasTopBar=!1,this._hasTopBarActions=!1,this._hasTabs=!1,this._hasPanel=!1,this._hasPanelFooter=!1,this._panelOwnsChrome=!1,this._hasAside=!1,this._width=0,this._restoredPanelOpen=null,this._onSideNavToggle=i=>{const s=i.detail;s&&"boolean"==typeof s.collapsed&&this._setNavCollapsed(s.collapsed)},this._onKeyDown=i=>{if(this.noPanelShortcut||!this.panelAvailable)return;const s=i.key??"";if((i.metaKey||i.ctrlKey)&&"j"===s.toLowerCase())return i.preventDefault(),void this.togglePanel();"Escape"===s&&this.panelOpen&&"overlay"===this._panelMode&&this.closePanel()}}static get styles(){return[m]}get panelMode(){return this._panelMode}get navLocked(){return this._navLocked}get panelAvailable(){return this._hasPanel&&!this.noPanel}get askVisible(){return this.panelAvailable&&!this.noAsk}get rail(){return this.navCollapsed||this._navLocked}connectedCallback(){super.connectedCallback(),this._restore(),this._resizeObserver=new ResizeObserver((i=>{const s=i[i.length-1];this._measure(s.contentRect.width)})),this._resizeObserver.observe(this),document.addEventListener("keydown",this._onKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this._resizeObserver?.disconnect(),this._resizeObserver=void 0,document.removeEventListener("keydown",this._onKeyDown)}willUpdate(i){(i.has("panelOpen")||i.has("noPanel")||i.has("overlayBreakpoint")||i.has("dockedRailBreakpoint")||i.has("_hasAside")||i.has("_hasSideNav"))&&this._recompute()}updated(i){super.updated(i),this.toggleAttribute("rail",this.rail),this.toggleAttribute("nav-locked",this._navLocked),this.toggleAttribute("has-banner",this._hasBanner),this.toggleAttribute("has-side-nav",this._hasSideNav),this.toggleAttribute("has-top-bar",this._hasTopBar||!this.noNavToggle&&this._hasSideNav),this.toggleAttribute("has-top-bar-actions",this._hasTopBarActions),this.toggleAttribute("has-ask",this.askVisible),this.toggleAttribute("has-tabs",this._hasTabs),this.toggleAttribute("has-aside",this._hasAside),this.toggleAttribute("has-panel",this.panelAvailable),this.toggleAttribute("has-panel-footer",this._hasPanelFooter),this.setAttribute("panel-mode",this._panelMode),this.setAttribute("panel-chrome",this._panelOwnsChrome?"external":"internal"),this._syncSideNav()}openPanel(){this.panelAvailable&&this._setPanelOpen(!0)}closePanel(){this._setPanelOpen(!1)}togglePanel(i){i??!this.panelOpen?this.openPanel():this.closePanel()}expandNav(){this._setNavCollapsed(!1)}collapseNav(){this._setNavCollapsed(!0)}toggleNav(i){this._setNavCollapsed(i??!this.navCollapsed)}focusMain(){this._main?.focus()}_setPanelOpen(i){this.panelOpen!==i&&(this.panelOpen=i,this._persist(),this.emit("nile-panel-toggle",{open:i,mode:this._panelMode}))}_setNavCollapsed(i){this.navCollapsed!==i&&(this.navCollapsed=i,this._persist(),this.emit("nile-nav-toggle",{collapsed:i,locked:this._navLocked}))}_measure(i){if(i===this._width)return;const s=0===this._width;if(this._width=i,this._recompute(),s&&null!==this._restoredPanelOpen){const i=this._restoredPanelOpen;this._restoredPanelOpen=null,i&&"docked"===this._panelMode&&this.openPanel()}}_geometry(){const i=getComputedStyle(this),s=(s,n)=>{const o=parseFloat(i.getPropertyValue(s));return Number.isFinite(o)?o:n};return{nav:s("--nile-app-shell-side-nav-width",260),rail:s("--nile-app-shell-side-nav-rail-width",64),gutter:s("--nile-app-shell-gutter",8),content:s("--nile-app-shell-content-min-width",640),aside:s("--nile-app-shell-aside-width",320),panel:s("--nile-app-shell-panel-width",480)}}_dockRequirement(i,s){const n=this._hasSideNav?s:0,o=this._hasAside?i.aside+i.gutter:0;return n+i.content+o+i.panel+3*i.gutter}_recompute(){const i=this._width,s=this._geometry(),n=this.overlayBreakpoint>0&&i>0&&i<this.overlayBreakpoint,o=n?"overlay":"docked",e=Math.max(this.dockedRailBreakpoint,this._dockRequirement(s,s.nav)),t=!n&&this.panelOpen&&this.panelAvailable&&i>0&&i<e,c=n||t;o!==this._panelMode&&(this._panelMode=o,this.emit("nile-panel-mode-change",{mode:o})),c!==this._navLocked&&(this._navLocked=c,this.emit("nile-nav-toggle",{collapsed:this.navCollapsed,locked:c}))}_syncSideNav(){this.querySelectorAll('[slot="side-nav"]').forEach((i=>{"NILE-SIDE-BAR"===i.tagName&&i.toggleAttribute("collapsed",this.rail)}))}_storageKey(i){return`nile-app-shell:${this.persistKey}:${i}`}_restore(){if(this.persistKey)try{const i=localStorage.getItem(this._storageKey("nav-collapsed"));null!==i&&(this.navCollapsed="true"===i);const s=localStorage.getItem(this._storageKey("panel-open"));null!==s&&(this._restoredPanelOpen="true"===s)}catch{}}_persist(){if(this.persistKey)try{localStorage.setItem(this._storageKey("nav-collapsed"),String(this.navCollapsed)),"docked"===this._panelMode&&localStorage.setItem(this._storageKey("panel-open"),String(this.panelOpen))}catch{}}_onSlotChange(i,s){const n=s.target.assignedNodes({flatten:!0}),o=n.some((i=>i.nodeType===Node.ELEMENT_NODE||""!==(i.textContent??"").trim()));switch(i){case"banner":this._hasBanner=o;break;case"side-nav":this._hasSideNav=o,this._syncSideNav();break;case"top-bar":this._hasTopBar=o;break;case"top-bar-actions":this._hasTopBarActions=o;break;case"tabs":this._hasTabs=o;break;case"aside":this._hasAside=o;break;case"panel":this._hasPanel=o,this._panelOwnsChrome=n.some((i=>i.nodeType===Node.ELEMENT_NODE&&"NILE-APP-SHELL-PANEL"===i.tagName)),this._recompute();break;case"panel-footer":this._hasPanelFooter=o}}_renderNavToggle(){if(this.noNavToggle||!this._hasSideNav)return"";const i=!this.rail;return s`
1
+ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as n,state as o,query as e,customElement as t}from"lit/decorators.js";import{ifDefined as c}from"lit/directives/if-defined.js";import{s as r}from"./nile-app-shell.css.esm.js";import{r as m}from"../internal/glyph.esm.js";import{N as l}from"../internal/nile-element.esm.js";import"../nile-button/nile-button.esm.js";import"../internal/app-shell-utility-control-styles.esm.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-icon/index.esm.js";import"lit/directives/class-map.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"../internal/form.esm.js";import"../internal/slot.esm.js";import"../internal/watch.esm.js";import"../nile-button/nile-button.css.esm.js";import"lit/static-html.js";let p=class extends l{constructor(){super(...arguments),this.navCollapsed=!1,this.panelOpen=!1,this.noPanel=!1,this.panelLabel="Ask Aquera",this.headingLevel=1,this.headerBack=!1,this.headerBackLabel="Back",this.noNavToggle=!1,this.noPanelShortcut=!1,this.noSkipLink=!1,this.skipLinkLabel="Skip to main content",this.topBarPlacement="content",this.contentAlign="fluid",this.contentContainer=!1,this.flat=!1,this.noPadding=!1,this.askLabel="Ask",this.noAsk=!1,this.panelBack=!1,this.panelBackLabel="Back",this.noTabs=!1,this.fullHeight=!1,this.overlayBreakpoint=0,this.dockedRailBreakpoint=1440,this._panelMode="docked",this._navLocked=!1,this._hasBanner=!1,this._hasSideNav=!1,this._hasTopBar=!1,this._hasTopBarActions=!1,this._hasTabs=!1,this._hasAppIcon=!1,this._hasPanel=!1,this._hasPanelFooter=!1,this._panelOwnsChrome=!1,this._hasAside=!1,this._width=0,this._restoredPanelOpen=null,this._onSideNavToggle=i=>{const s=i.detail;s&&"boolean"==typeof s.collapsed&&this._setNavCollapsed(s.collapsed)},this._onKeyDown=i=>{if(this.noPanelShortcut||!this.panelAvailable)return;const s=i.key??"";if((i.metaKey||i.ctrlKey)&&"j"===s.toLowerCase())return i.preventDefault(),void this.togglePanel();"Escape"===s&&this.panelOpen&&"overlay"===this._panelMode&&this.closePanel()}}static get styles(){return[r]}get panelMode(){return this._panelMode}get navLocked(){return this._navLocked}get panelAvailable(){return this._hasPanel&&!this.noPanel}get tabsVisible(){return this._hasTabs&&!this.noTabs}get askVisible(){return this.panelAvailable&&!this.noAsk}get rail(){return this.navCollapsed||this._navLocked}connectedCallback(){super.connectedCallback(),this._restore(),this._resizeObserver=new ResizeObserver((i=>{const s=i[i.length-1];this._measure(s.contentRect.width)})),this._resizeObserver.observe(this),document.addEventListener("keydown",this._onKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this._resizeObserver?.disconnect(),this._resizeObserver=void 0,document.removeEventListener("keydown",this._onKeyDown)}willUpdate(i){(i.has("panelOpen")||i.has("noPanel")||i.has("overlayBreakpoint")||i.has("dockedRailBreakpoint")||i.has("_hasAside")||i.has("_hasSideNav"))&&this._recompute()}updated(i){super.updated(i),this.toggleAttribute("rail",this.rail),this.toggleAttribute("nav-locked",this._navLocked),this.toggleAttribute("has-banner",this._hasBanner),this.toggleAttribute("has-side-nav",this._hasSideNav),this.toggleAttribute("has-top-bar",this._hasTopBar||this._hasTitleBlock||!this.noNavToggle&&this._hasSideNav),this.toggleAttribute("has-description",!!this.description&&!!this.pageTitle),this.toggleAttribute("has-top-bar-actions",this._hasTopBarActions),this.toggleAttribute("has-app-icon",this._hasAppIcon),this.toggleAttribute("has-ask",this.askVisible),this.toggleAttribute("has-tabs",this.tabsVisible),this.toggleAttribute("has-aside",this._hasAside),this.toggleAttribute("has-panel",this.panelAvailable),this.toggleAttribute("has-panel-footer",this._hasPanelFooter),this.setAttribute("panel-mode",this._panelMode),this.setAttribute("panel-chrome",this._panelOwnsChrome?"external":"internal"),this._syncSideNav()}openPanel(){this.panelAvailable&&this._setPanelOpen(!0)}closePanel(){this._setPanelOpen(!1)}togglePanel(i){i??!this.panelOpen?this.openPanel():this.closePanel()}goBackHeader(){this.emit("nile-click",{value:"back"})}goBackPanel(){this.emit("nile-panel-back")}goBack(){this.goBackPanel()}expandNav(){this._setNavCollapsed(!1)}collapseNav(){this._setNavCollapsed(!0)}toggleNav(i){this._setNavCollapsed(i??!this.navCollapsed)}focusMain(){this._main?.focus()}_setPanelOpen(i){this.panelOpen!==i&&(this.panelOpen=i,this._persist(),this.emit("nile-panel-toggle",{open:i,mode:this._panelMode}))}_setNavCollapsed(i){this.navCollapsed!==i&&(this.navCollapsed=i,this._persist(),this.emit("nile-nav-toggle",{collapsed:i,locked:this._navLocked}))}_measure(i){if(i===this._width)return;const s=0===this._width;if(this._width=i,this._recompute(),s&&null!==this._restoredPanelOpen){const i=this._restoredPanelOpen;this._restoredPanelOpen=null,i&&"docked"===this._panelMode&&this.openPanel()}}_geometry(){const i=getComputedStyle(this),s=(s,n)=>{const o=parseFloat(i.getPropertyValue(s));return Number.isFinite(o)?o:n};return{nav:s("--nile-app-shell-side-nav-width",240),rail:s("--nile-app-shell-side-nav-rail-width",70),gutter:s("--nile-app-shell-gutter",4),content:s("--nile-app-shell-content-min-width",640),aside:s("--nile-app-shell-aside-width",320),panel:s("--nile-app-shell-panel-width",480)}}_dockRequirement(i,s){const n=this._hasSideNav?s:0,o=this._hasAside?i.aside+i.gutter:0,e=this._hasSideNav?2:3;return n+i.content+o+i.panel+i.gutter*e}_recompute(){const i=this._width,s=this._geometry(),n=this.overlayBreakpoint>0&&i>0&&i<this.overlayBreakpoint,o=n?"overlay":"docked",e=Math.max(this.dockedRailBreakpoint,this._dockRequirement(s,s.nav)),t=!n&&this.panelOpen&&this.panelAvailable&&i>0&&i<e,c=n||t;o!==this._panelMode&&(this._panelMode=o,this.emit("nile-panel-mode-change",{mode:o})),c!==this._navLocked&&(this._navLocked=c,this.emit("nile-nav-toggle",{collapsed:this.navCollapsed,locked:c}))}_syncSideNav(){this.querySelectorAll('[slot="side-nav"]').forEach((i=>{"NILE-SIDE-BAR"===i.tagName&&i.toggleAttribute("collapsed",this.rail)}))}_storageKey(i){return`nile-app-shell:${this.persistKey}:${i}`}_restore(){if(this.persistKey)try{const i=localStorage.getItem(this._storageKey("nav-collapsed"));null!==i&&(this.navCollapsed="true"===i);const s=localStorage.getItem(this._storageKey("panel-open"));null!==s&&(this._restoredPanelOpen="true"===s)}catch{}}_persist(){if(this.persistKey)try{localStorage.setItem(this._storageKey("nav-collapsed"),String(this.navCollapsed)),"docked"===this._panelMode&&localStorage.setItem(this._storageKey("panel-open"),String(this.panelOpen))}catch{}}_onSlotChange(i,s){const n=s.target.assignedNodes({flatten:!0}),o=n.some((i=>i.nodeType===Node.ELEMENT_NODE||""!==(i.textContent??"").trim()));switch(i){case"banner":this._hasBanner=o;break;case"side-nav":this._hasSideNav=o,this._syncSideNav();break;case"top-bar":this._hasTopBar=o;break;case"top-bar-actions":this._hasTopBarActions=o;break;case"tabs":this._hasTabs=o;break;case"app-icon":this._hasAppIcon=o;break;case"aside":this._hasAside=o;break;case"panel":this._hasPanel=o,this._panelOwnsChrome=n.some((i=>i.nodeType===Node.ELEMENT_NODE&&"NILE-APP-SHELL-PANEL"===i.tagName)),this._recompute();break;case"panel-footer":this._hasPanelFooter=o}}_renderNavToggle(){if(this.noNavToggle||!this._hasSideNav)return"";const i=!this.rail;return s`
2
2
  <div class="nav-toggle-group">
3
3
  <nile-button
4
- class="nav-toggle"
4
+ class="nav-toggle utility-control"
5
5
  part="nav-toggle"
6
6
  variant="ghost"
7
7
  circle
@@ -12,17 +12,61 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as
12
12
  aria-label=${i?"Collapse navigation":"Expand navigation"}
13
13
  @click=${()=>this.toggleNav()}
14
14
  >
15
- ${r(i?"ng-panel-left-close":"ng-panel-left-open",24,"currentColor")}
15
+ ${m(i?"ng-panel-left":"ng-panel-right",20,"currentColor")}
16
16
  </nile-button>
17
- ${this._hasTopBar?s`<span class="rule" part="rule"></span>`:""}
17
+ ${this._hasTopBar||this._hasTitleBlock?s`<span class="rule" part="rule"></span>`:""}
18
18
  </div>
19
- `}_renderTopBar(i){return s`
19
+ `}get _hasTitleBlock(){return!!this.pageTitle||this.headerBack||this._hasAppIcon}get _headingLevel(){const i=Math.trunc(Number(this.headingLevel));return Number.isFinite(i)?Math.min(6,Math.max(1,i)):1}_renderBack(){return this.headerBack?s`
20
+ <span class="back-line">
21
+ <button
22
+ class="back"
23
+ part="back"
24
+ type="button"
25
+ aria-label=${this.headerBackLabel}
26
+ title=${this.headerBackLabel}
27
+ @click=${()=>this.goBackHeader()}
28
+ >
29
+ ${m("ng-arrow-narrow-left",20,"currentColor")}
30
+ </button>
31
+ </span>
32
+ `:""}_renderAppIconSlot(){return s`<slot
33
+ name="app-icon"
34
+ @slotchange=${i=>this._onSlotChange("app-icon",i)}
35
+ ></slot>`}_renderAppIconProbe(){return s`<span class="app-icon-probe" hidden
36
+ >${this._renderAppIconSlot()}</span
37
+ >`}_renderTitleBlock(){return this._hasTitleBlock?this.pageTitle||this._hasAppIcon?s`
38
+ <div class="title-area" part="title-area">
39
+ ${this._renderBack()}
40
+ <div class="title-stack">
41
+ <div class="title-row">
42
+ <span class="app-icon" part="app-icon"
43
+ >${this._renderAppIconSlot()}</span
44
+ >
45
+ ${this.pageTitle?s`<div
46
+ class="page-title"
47
+ part="page-title"
48
+ role="heading"
49
+ aria-level=${this._headingLevel}
50
+ >${this.pageTitle}</div>`:""}
51
+ ${this.pageTitle&&this.badge?s`<span class="badge" part="badge">${this.badge}</span>`:""}
52
+ </div>
53
+ ${this.pageTitle&&this.description?s`<p class="description" part="description">
54
+ ${this.description}
55
+ </p>`:""}
56
+ </div>
57
+ </div>
58
+ `:s`
59
+ <div class="title-area" part="title-area">
60
+ ${this._renderBack()} ${this._renderAppIconProbe()}
61
+ </div>
62
+ `:this._renderAppIconProbe()}_renderTopBar(i){return s`
20
63
  <div
21
64
  class=${"shell"===i?"top-bar shell-top-bar":"top-bar"}
22
65
  part=${"shell"===i?"top-bar shell-top-bar":"top-bar"}
23
66
  >
24
67
  ${this._renderNavToggle()}
25
68
  <div class="top-bar-content">
69
+ ${this._renderTitleBlock()}
26
70
  <slot
27
71
  name="top-bar"
28
72
  @slotchange=${i=>this._onSlotChange("top-bar",i)}
@@ -33,16 +77,17 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as
33
77
  name="top-bar-actions"
34
78
  @slotchange=${i=>this._onSlotChange("top-bar-actions",i)}
35
79
  ></slot>
80
+ ${this.askVisible&&this._hasTopBarActions?s`<span class="rule ask-rule" part="ask-rule"></span>`:""}
36
81
  ${this.askVisible?s`
37
82
  <nile-button
38
83
  class="ask"
39
84
  part="ask"
40
85
  exportparts="base: ask__base, label: ask__label"
41
- variant="primary"
86
+ variant="secondary"
42
87
  @click=${()=>this.openPanel()}
43
88
  >
44
89
  <span slot="prefix" class="ask-mark">
45
- ${r("ng-sparkles",16,"currentColor")}
90
+ ${m("ng-sparkles",16,"currentColor")}
46
91
  </span>
47
92
  ${this.askLabel}
48
93
  </nile-button>
@@ -112,10 +157,21 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as
112
157
  @slotchange=${i=>this._onSlotChange("panel",i)}
113
158
  ></slot>`:s`
114
159
  <header class="panel-header" part="panel-header">
160
+ ${this.panelBack?s`<nile-button
161
+ class="panel-back utility-control"
162
+ part="panel-back"
163
+ variant="ghost"
164
+ circle
165
+ title=${this.panelBackLabel}
166
+ aria-label=${this.panelBackLabel}
167
+ @click=${()=>this.goBackPanel()}
168
+ >
169
+ ${m("ng-arrow-left",20,"currentColor")}
170
+ </nile-button>`:""}
115
171
  <slot name="panel-header">
116
172
  <span class="panel-heading">
117
173
  <span class="panel-mark">
118
- ${r("ng-sparkles",20,"currentColor")}
174
+ ${m("ng-sparkles",20,"currentColor")}
119
175
  </span>
120
176
  <h2 class="panel-title" part="panel-title">
121
177
  ${this.panelLabel}
@@ -125,7 +181,7 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as
125
181
  <div class="panel-actions" part="panel-actions">
126
182
  <slot name="panel-actions"></slot>
127
183
  <nile-button
128
- class="panel-close"
184
+ class="panel-close utility-control"
129
185
  part="panel-close"
130
186
  variant="ghost"
131
187
  circle
@@ -133,7 +189,7 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as
133
189
  aria-label="Close ${this.panelLabel}"
134
190
  @click=${()=>this.closePanel()}
135
191
  >
136
- ${r("ng-x-close",24,"currentColor")}
192
+ ${m("ng-x-close",20,"currentColor")}
137
193
  </nile-button>
138
194
  </div>
139
195
  </header>
@@ -152,4 +208,4 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{property as
152
208
  `}
153
209
  </aside>
154
210
  </div>
155
- `}};i([n({type:Boolean,reflect:!0,attribute:"nav-collapsed"})],p.prototype,"navCollapsed",void 0),i([n({type:Boolean,reflect:!0,attribute:"panel-open"})],p.prototype,"panelOpen",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-panel"})],p.prototype,"noPanel",void 0),i([n({type:String,attribute:"panel-label"})],p.prototype,"panelLabel",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-nav-toggle"})],p.prototype,"noNavToggle",void 0),i([n({type:Boolean,attribute:"no-panel-shortcut"})],p.prototype,"noPanelShortcut",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-skip-link"})],p.prototype,"noSkipLink",void 0),i([n({type:String,attribute:"skip-link-label"})],p.prototype,"skipLinkLabel",void 0),i([n({type:String,reflect:!0,attribute:"top-bar-placement"})],p.prototype,"topBarPlacement",void 0),i([n({type:String,reflect:!0,attribute:"content-align"})],p.prototype,"contentAlign",void 0),i([n({type:Boolean,reflect:!0,attribute:"content-container"})],p.prototype,"contentContainer",void 0),i([n({type:Boolean,reflect:!0})],p.prototype,"flat",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-padding"})],p.prototype,"noPadding",void 0),i([n({type:String,attribute:"ask-label"})],p.prototype,"askLabel",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-ask"})],p.prototype,"noAsk",void 0),i([n({type:Boolean,reflect:!0,attribute:"full-height"})],p.prototype,"fullHeight",void 0),i([n({type:Number,attribute:"overlay-breakpoint"})],p.prototype,"overlayBreakpoint",void 0),i([n({type:Number,attribute:"docked-rail-breakpoint"})],p.prototype,"dockedRailBreakpoint",void 0),i([n({type:String,attribute:"persist-key"})],p.prototype,"persistKey",void 0),i([o()],p.prototype,"_panelMode",void 0),i([o()],p.prototype,"_navLocked",void 0),i([o()],p.prototype,"_hasBanner",void 0),i([o()],p.prototype,"_hasSideNav",void 0),i([o()],p.prototype,"_hasTopBar",void 0),i([o()],p.prototype,"_hasTopBarActions",void 0),i([o()],p.prototype,"_hasTabs",void 0),i([o()],p.prototype,"_hasPanel",void 0),i([o()],p.prototype,"_hasPanelFooter",void 0),i([o()],p.prototype,"_panelOwnsChrome",void 0),i([o()],p.prototype,"_hasAside",void 0),i([e(".main")],p.prototype,"_main",void 0),p=i([t("nile-app-shell")],p);export{p as N};
211
+ `}};i([n({type:Boolean,reflect:!0,attribute:"nav-collapsed"})],p.prototype,"navCollapsed",void 0),i([n({type:Boolean,reflect:!0,attribute:"panel-open"})],p.prototype,"panelOpen",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-panel"})],p.prototype,"noPanel",void 0),i([n({type:String,attribute:"panel-label"})],p.prototype,"panelLabel",void 0),i([n({type:String,attribute:!0,reflect:!0})],p.prototype,"pageTitle",void 0),i([n({type:Number,attribute:!0,reflect:!0})],p.prototype,"headingLevel",void 0),i([n({type:String,attribute:!0,reflect:!0})],p.prototype,"description",void 0),i([n({type:String,attribute:!0,reflect:!0})],p.prototype,"badge",void 0),i([n({type:Boolean,attribute:!0,reflect:!0})],p.prototype,"headerBack",void 0),i([n({type:String,attribute:!0,reflect:!0})],p.prototype,"headerBackLabel",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-nav-toggle"})],p.prototype,"noNavToggle",void 0),i([n({type:Boolean,attribute:"no-panel-shortcut"})],p.prototype,"noPanelShortcut",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-skip-link"})],p.prototype,"noSkipLink",void 0),i([n({type:String,attribute:"skip-link-label"})],p.prototype,"skipLinkLabel",void 0),i([n({type:String,reflect:!0,attribute:"top-bar-placement"})],p.prototype,"topBarPlacement",void 0),i([n({type:String,reflect:!0,attribute:"content-align"})],p.prototype,"contentAlign",void 0),i([n({type:Boolean,reflect:!0,attribute:"content-container"})],p.prototype,"contentContainer",void 0),i([n({type:Boolean,reflect:!0})],p.prototype,"flat",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-padding"})],p.prototype,"noPadding",void 0),i([n({type:String,attribute:"ask-label"})],p.prototype,"askLabel",void 0),i([n({type:Boolean,reflect:!0,attribute:"no-ask"})],p.prototype,"noAsk",void 0),i([n({type:Boolean,reflect:!0})],p.prototype,"panelBack",void 0),i([n({type:String})],p.prototype,"panelBackLabel",void 0),i([n({type:Boolean,reflect:!0})],p.prototype,"noTabs",void 0),i([n({type:Boolean,reflect:!0,attribute:"full-height"})],p.prototype,"fullHeight",void 0),i([n({type:Number,attribute:"overlay-breakpoint"})],p.prototype,"overlayBreakpoint",void 0),i([n({type:Number,attribute:"docked-rail-breakpoint"})],p.prototype,"dockedRailBreakpoint",void 0),i([n({type:String,attribute:"persist-key"})],p.prototype,"persistKey",void 0),i([o()],p.prototype,"_panelMode",void 0),i([o()],p.prototype,"_navLocked",void 0),i([o()],p.prototype,"_hasBanner",void 0),i([o()],p.prototype,"_hasSideNav",void 0),i([o()],p.prototype,"_hasTopBar",void 0),i([o()],p.prototype,"_hasTopBarActions",void 0),i([o()],p.prototype,"_hasTabs",void 0),i([o()],p.prototype,"_hasAppIcon",void 0),i([o()],p.prototype,"_hasPanel",void 0),i([o()],p.prototype,"_hasPanelFooter",void 0),i([o()],p.prototype,"_panelOwnsChrome",void 0),i([o()],p.prototype,"_hasAside",void 0),i([e(".main")],p.prototype,"_main",void 0),p=i([t("nile-app-shell")],p);export{p as N};
@@ -1 +1 @@
1
- {"version":3,"file":"shell-controller.cjs.js","sources":["../../../src/nile-app-shell/shell-controller.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\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 type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type { NileAppShell } from './nile-app-shell';\n\n/** Events on the shell that change what a region component renders. */\nconst SHELL_EVENTS = [\n 'nile-nav-toggle',\n 'nile-panel-toggle',\n 'nile-panel-mode-change',\n];\n\n/**\n * A reactive controller that links a region component to its shell.\n *\n * Region components sit in the shell's light DOM, so the shell is just an\n * ancestor — `closest()` finds it. The shell may upgrade after its children do,\n * so the lookup is deferred to a microtask and retried on demand. While linked,\n * the host re-renders whenever the shell's nav or panel state changes.\n */\nexport class AppShellController implements ReactiveController {\n host: ReactiveControllerHost & HTMLElement;\n\n /** Id of the shell to link to. Defaults to the nearest ancestor. */\n shellId?: string;\n\n private linked?: NileAppShell;\n private observer?: MutationObserver;\n\n constructor(host: ReactiveControllerHost & HTMLElement) {\n (this.host = host).addController(this);\n }\n\n /** The linked shell, resolving it first if it has not been found yet. */\n get shell(): NileAppShell | null {\n if (!this.linked) this.link();\n return this.linked ?? null;\n }\n\n hostConnected(): void {\n // The shell can upgrade after its children; give it a microtask.\n Promise.resolve().then(() => {\n if (this.link()) this.host.requestUpdate();\n });\n }\n\n hostDisconnected(): void {\n this.unlink();\n }\n\n /** Resolve the shell and subscribe to it. Returns true when newly linked. */\n private link(): boolean {\n const found = this.find();\n if (!found || found === this.linked) return false;\n this.unlink();\n this.linked = found;\n SHELL_EVENTS.forEach(name =>\n found.addEventListener(name, this.handleShellChange)\n );\n /*\n * Not every state a region renders from has an event. Panel availability\n * flips when the panel slot fills, which emits nothing — a header would\n * render its Ask button hidden and never re-render. The shell reflects that\n * state onto itself, so watching its attributes covers the whole surface.\n */\n this.observer = new MutationObserver(this.handleShellChange);\n this.observer.observe(found, { attributes: true });\n return true;\n }\n\n private unlink(): void {\n const shell = this.linked;\n if (!shell) return;\n SHELL_EVENTS.forEach(name =>\n shell.removeEventListener(name, this.handleShellChange)\n );\n this.observer?.disconnect();\n this.observer = undefined;\n this.linked = undefined;\n }\n\n private find(): NileAppShell | null {\n if (this.shellId) {\n const root = this.host.getRootNode() as Document | ShadowRoot;\n return root.querySelector<NileAppShell>(`nile-app-shell#${this.shellId}`);\n }\n return this.host.closest('nile-app-shell');\n }\n\n private handleShellChange = (): void => {\n this.host.requestUpdate();\n };\n}\n\nexport default AppShellController;\n"],"names":["SHELL_EVENTS","AppShellController","s","host","this","handleShellChange","requestUpdate","addController","_createClass","key","get","_this$linked","linked","link","value","hostConnected","Promise","resolve","then","hostDisconnected","unlink","found","find","forEach","name","addEventListener","observer","MutationObserver","observe","attributes","_this4","_this$observer","shell","removeEventListener","disconnect","undefined","shellId","getRootNode","querySelector","closest"],"mappings":"msCAWMA,CAAe,CAAA,CACnB,iBACA,CAAA,mBAAA,CACA,sCAWWC,CASX,yBAAA,SAAAC,EAAYC,CAAAA,CAAAA,KAAAA,KAAAA,MAAAA,eAAAA,MAAAA,CAAAA,EA4DJC,IAAiBC,CAAAA,iBAAAA,CAAG,WAC1BD,KAAKD,CAAAA,IAAAA,CAAKG,aAAe,CAAA,CAAA,EAAA,CAAA,CA5DxBF,IAAKD,CAAAA,IAAAA,CAAOA,CAAMI,EAAAA,aAAAA,CAAcH,KAClC,EAGD,OAAAI,YAAA,CAAAN,CAAA,GAAAO,GAAA,SAAAC,GAAA,UAAAA,IAAA,CAEE,KAAAC,YAAA,CAAA,MADKP,KAAKQ,CAAAA,MAAAA,EAAQR,IAAKS,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,YAAAA,CAChBT,KAAKQ,MAAU,UAAAD,YAAA,UAAAA,YAAA,CAAA,IACvB,EAED,GAAAF,GAAA,iBAAAK,KAAA,UAAAC,aAAAA,CAAAA,CAEEC,KAAAA,MAAAA,MAAAA,OAAAA,CAAQC,OAAUC,CAAAA,CAAAA,CAAAA,IAAAA,CAAK,UACjBd,CAAAA,MAAAA,CAAKS,IAAQT,CAAAA,CAAAA,EAAAA,MAAAA,CAAKD,IAAKG,CAAAA,aAAAA,CAAAA,CAAe,EAE7C,CAAA,EAED,GAAAG,GAAA,oBAAAK,KAAA,UAAAK,gBAAAA,CAAAA,CACEf,CAAAA,IAAAA,CAAKgB,MACN,CAAA,CAAA,EAGO,GAAAX,GAAA,QAAAK,KAAA,UAAAD,IAAAA,CAAAA,CAAAA,KAAAA,MAAAA,MACN,GAAMQ,CAAAA,EAAAA,CAAQjB,KAAKkB,IACnB,CAAA,CAAA,CAAA,MAAA,EAAA,CAAKD,EAASA,EAAAA,EAAAA,GAAUjB,IAAKQ,CAAAA,MAAAA,CAAAA,GAC7BR,IAAKgB,CAAAA,MAAAA,CAAAA,CAAAA,CACLhB,KAAKQ,MAASS,CAAAA,EAAAA,CACdrB,CAAauB,CAAAA,OAAAA,CAAQC,SAAAA,CACnBH,QAAAA,CAAAA,EAAAA,CAAMI,gBAAiBD,CAAAA,CAAAA,CAAMpB,MAAKC,CAAAA,iBAAAA,CAAAA,EAAAA,CAAAA,CAQpCD,IAAKsB,CAAAA,QAAAA,CAAW,GAAIC,CAAAA,gBAAAA,CAAiBvB,IAAKC,CAAAA,iBAAAA,CAAAA,CAC1CD,KAAKsB,QAASE,CAAAA,OAAAA,CAAQP,EAAO,CAAA,CAAEQ,UAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpC,CACR,CAAA,EAEO,GAAApB,GAAA,UAAAK,KAAA,UAAAM,MAAAA,CAAAA,CACN,KAAAU,MAAA,MAAAC,cAAA,CAAA,GAAMC,CAAAA,GAAQ5B,CAAAA,IAAAA,CAAKQ,MACdoB,CAAAA,GAAAA,GACLhC,CAAauB,CAAAA,OAAAA,CAAQC,SAAAA,SACnBQ,CAAAA,GAAMC,CAAAA,mBAAAA,CAAoBT,CAAMpB,CAAAA,MAAAA,CAAKC,iBAEvCD,CAAAA,EAAAA,CAAAA,EAAAA,cAAAA,CAAAA,IAAAA,CAAKsB,QAAUQ,UAAAA,cAAAA,WAAf9B,cAAAA,CAAe8B,UAAAA,CAAAA,CAAAA,CACf9B,IAAKsB,CAAAA,QAAAA,CAAAA,IAAWS,EAChB/B,CAAAA,IAAAA,CAAKQ,MAASuB,CAAAA,IAAAA,EAAAA,CACf,EAEO,GAAA1B,GAAA,QAAAK,KAAA,UAAAQ,IAAAA,CAAAA,EACN,GAAIlB,IAAAA,CAAKgC,OAAS,CAAA,CAEhB,MADahC,KAAAA,CAAKD,IAAKkC,CAAAA,WAAAA,CAAAA,CAAAA,CACXC,uCAA8ClC,IAAAA,CAAKgC,OAChE,CAAA,CAAA,EACD,MAAOhC,KAAAA,CAAKD,IAAKoC,CAAAA,OAAAA,CAAQ,iBAC1B"}
1
+ {"version":3,"file":"shell-controller.cjs.js","sources":["../../../src/nile-app-shell/shell-controller.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\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 type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type { NileAppShell } from './nile-app-shell';\n\n/** Events on the shell that change what a region component renders. */\nconst SHELL_EVENTS = [\n 'nile-nav-toggle',\n 'nile-panel-toggle',\n 'nile-panel-mode-change',\n];\n\n/** A reactive controller that links a region component to its shell, re-rendering the host when the shell's nav or panel state changes. */\nexport class AppShellController implements ReactiveController {\n host: ReactiveControllerHost & HTMLElement;\n\n /** Id of the shell to link to. Defaults to the nearest ancestor. */\n shellId?: string;\n\n private linked?: NileAppShell;\n private observer?: MutationObserver;\n\n constructor(host: ReactiveControllerHost & HTMLElement) {\n (this.host = host).addController(this);\n }\n\n /** The linked shell, resolving it first if it has not been found yet. */\n get shell(): NileAppShell | null {\n if (!this.linked) this.link();\n return this.linked ?? null;\n }\n\n hostConnected(): void {\n // The shell can upgrade after its children; give it a microtask.\n Promise.resolve().then(() => {\n if (this.link()) this.host.requestUpdate();\n });\n }\n\n hostDisconnected(): void {\n this.unlink();\n }\n\n /** Resolve the shell and subscribe to it. Returns true when newly linked. */\n private link(): boolean {\n const found = this.find();\n if (!found || found === this.linked) return false;\n this.unlink();\n this.linked = found;\n SHELL_EVENTS.forEach(name =>\n found.addEventListener(name, this.handleShellChange)\n );\n /* Not every state a region renders from has an event, so watch the shell's reflected attributes to cover the whole surface. */\n this.observer = new MutationObserver(this.handleShellChange);\n this.observer.observe(found, { attributes: true });\n return true;\n }\n\n private unlink(): void {\n const shell = this.linked;\n if (!shell) return;\n SHELL_EVENTS.forEach(name =>\n shell.removeEventListener(name, this.handleShellChange)\n );\n this.observer?.disconnect();\n this.observer = undefined;\n this.linked = undefined;\n }\n\n private find(): NileAppShell | null {\n if (this.shellId) {\n const root = this.host.getRootNode() as Document | ShadowRoot;\n return root.querySelector<NileAppShell>(`nile-app-shell#${this.shellId}`);\n }\n return this.host.closest('nile-app-shell');\n }\n\n private handleShellChange = (): void => {\n this.host.requestUpdate();\n };\n}\n\nexport default AppShellController;\n"],"names":["SHELL_EVENTS","AppShellController","s","host","this","handleShellChange","requestUpdate","addController","_createClass","key","get","_this$linked","linked","link","value","hostConnected","Promise","resolve","then","hostDisconnected","unlink","found","find","forEach","name","addEventListener","observer","MutationObserver","observe","attributes","_this4","_this$observer","shell","removeEventListener","disconnect","undefined","shellId","getRootNode","querySelector","closest"],"mappings":"msCAWMA,CAAe,CAAA,CACnB,iBACA,CAAA,mBAAA,CACA,sCAIWC,CASX,yBAAA,SAAAC,EAAYC,CAAAA,CAAAA,KAAAA,KAAAA,MAAAA,eAAAA,MAAAA,CAAAA,EAuDJC,IAAiBC,CAAAA,iBAAAA,CAAG,WAC1BD,KAAKD,CAAAA,IAAAA,CAAKG,aAAe,CAAA,CAAA,EAAA,CAAA,CAvDxBF,IAAKD,CAAAA,IAAAA,CAAOA,CAAMI,EAAAA,aAAAA,CAAcH,KAClC,EAGD,OAAAI,YAAA,CAAAN,CAAA,GAAAO,GAAA,SAAAC,GAAA,UAAAA,IAAA,CAEE,KAAAC,YAAA,CAAA,MADKP,KAAKQ,CAAAA,MAAAA,EAAQR,IAAKS,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,YAAAA,CAChBT,KAAKQ,MAAU,UAAAD,YAAA,UAAAA,YAAA,CAAA,IACvB,EAED,GAAAF,GAAA,iBAAAK,KAAA,UAAAC,aAAAA,CAAAA,CAEEC,KAAAA,MAAAA,MAAAA,OAAAA,CAAQC,OAAUC,CAAAA,CAAAA,CAAAA,IAAAA,CAAK,UACjBd,CAAAA,MAAAA,CAAKS,IAAQT,CAAAA,CAAAA,EAAAA,MAAAA,CAAKD,IAAKG,CAAAA,aAAAA,CAAAA,CAAe,EAE7C,CAAA,EAED,GAAAG,GAAA,oBAAAK,KAAA,UAAAK,gBAAAA,CAAAA,CACEf,CAAAA,IAAAA,CAAKgB,MACN,CAAA,CAAA,EAGO,GAAAX,GAAA,QAAAK,KAAA,UAAAD,IAAAA,CAAAA,CAAAA,KAAAA,MAAAA,MACN,GAAMQ,CAAAA,EAAAA,CAAQjB,KAAKkB,IACnB,CAAA,CAAA,CAAA,MAAA,EAAA,CAAKD,EAASA,EAAAA,EAAAA,GAAUjB,IAAKQ,CAAAA,MAAAA,CAAAA,GAC7BR,IAAKgB,CAAAA,MAAAA,CAAAA,CAAAA,CACLhB,KAAKQ,MAASS,CAAAA,EAAAA,CACdrB,CAAauB,CAAAA,OAAAA,CAAQC,SAAAA,CACnBH,QAAAA,CAAAA,EAAAA,CAAMI,gBAAiBD,CAAAA,CAAAA,CAAMpB,MAAKC,CAAAA,iBAAAA,CAAAA,EAAAA,CAAAA,CAGpCD,IAAKsB,CAAAA,QAAAA,CAAW,GAAIC,CAAAA,gBAAAA,CAAiBvB,IAAKC,CAAAA,iBAAAA,CAAAA,CAC1CD,KAAKsB,QAASE,CAAAA,OAAAA,CAAQP,EAAO,CAAA,CAAEQ,UAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpC,CACR,CAAA,EAEO,GAAApB,GAAA,UAAAK,KAAA,UAAAM,MAAAA,CAAAA,CACN,KAAAU,MAAA,MAAAC,cAAA,CAAA,GAAMC,CAAAA,GAAQ5B,CAAAA,IAAAA,CAAKQ,MACdoB,CAAAA,GAAAA,GACLhC,CAAauB,CAAAA,OAAAA,CAAQC,SAAAA,SACnBQ,CAAAA,GAAMC,CAAAA,mBAAAA,CAAoBT,CAAMpB,CAAAA,MAAAA,CAAKC,iBAEvCD,CAAAA,EAAAA,CAAAA,EAAAA,cAAAA,CAAAA,IAAAA,CAAKsB,QAAUQ,UAAAA,cAAAA,WAAf9B,cAAAA,CAAe8B,UAAAA,CAAAA,CAAAA,CACf9B,IAAKsB,CAAAA,QAAAA,CAAAA,IAAWS,EAChB/B,CAAAA,IAAAA,CAAKQ,MAASuB,CAAAA,IAAAA,EAAAA,CACf,EAEO,GAAA1B,GAAA,QAAAK,KAAA,UAAAQ,IAAAA,CAAAA,EACN,GAAIlB,IAAAA,CAAKgC,OAAS,CAAA,CAEhB,MADahC,KAAAA,CAAKD,IAAKkC,CAAAA,WAAAA,CAAAA,CAAAA,CACXC,uCAA8ClC,IAAAA,CAAKgC,OAChE,CAAA,CAAA,EACD,MAAOhC,KAAAA,CAAKD,IAAKoC,CAAAA,OAAAA,CAAQ,iBAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"nile-app-shell-main.cjs.js","sources":["../../../src/nile-app-shell-main/nile-app-shell-main.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\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 { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-app-shell-main.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * @summary The shell's centre region — the page body. Goes in the shell's\n * default slot and declares the size query container that page CSS sizes\n * against, which the shell itself cannot do across its shadow boundary.\n *\n * @status stable\n * @since 2.0\n *\n * @tag nile-app-shell-main\n *\n * @dependency nile-app-shell\n *\n * @slot - The page body.\n *\n * @attr no-container - Drops the query container. Size containment makes this a\n * containing block for absolutely and fixed-positioned descendants; set this\n * when page content needs to escape to the viewport instead.\n */\n@customElement('nile-app-shell-main')\nexport class NileAppShellMain extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** Drops the size query container. */\n @property({ type: Boolean, reflect: true, attribute: 'no-container' })\n noContainer: boolean = false;\n\n public render(): TemplateResult {\n return html`<slot></slot>`;\n }\n}\n\nexport default NileAppShellMain;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-app-shell-main': NileAppShellMain;\n }\n}\n"],"names":["NileAppShellMain","_n","o","this","noContainer","_this","_inherits","_createClass","key","value","render","html","_templateObject","_taggedTemplateLiteral","get","styles","NileElement","__decorate","property","type","Boolean","reflect","attribute","prototype","customElement"],"mappings":"k8GA+BaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,qEAOLC,EAAAA,KAAAA,CAAWC,WAAY,CAAA,CAAA,CAKxB,QAAAC,KAAA,EAXQC,SAAA,CAAAJ,CAAA,CAAAD,EAAA,SAAAM,YAAA,CAAAL,CAAA,GAAAM,GAAA,UAAAC,KAAA,CAQA,SAAAC,MAAAA,CAAAA,CAAAA,CACL,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,sBACZ,CAAA,KAAAL,GAAA,UAAAM,GAAA,CAVM,SAAAA,IAAA,CACL,CAAA,MAAO,CAACC,CACT,CAAA,EAMM,MAT6BC,CAA/B,GAOLC,CAAA,CAAA,CADCC,CAAS,CAAA,CAAEC,IAAMC,CAAAA,OAAAA,CAASC,SAAS,CAAMC,CAAAA,SAAAA,CAAW,cACxBtB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuB,SAAA,CAAA,aAAA,CAAA,IAAA,EAPlBvB,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAgBiB,CAAA,CAAA,CAD5BO,CAAc,CAAA,qBAAA,CAAA,CAAA,CACFxB"}
1
+ {"version":3,"file":"nile-app-shell-main.cjs.js","sources":["../../../src/nile-app-shell-main/nile-app-shell-main.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\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 { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-app-shell-main.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * @summary The shell's centre region — the page body; declares the size query container that page CSS sizes against.\n *\n * @status stable\n * @since 2.0\n *\n * @tag nile-app-shell-main\n *\n * @dependency nile-app-shell\n *\n * @slot - The page body.\n *\n * @attr no-container - Drops the query container, so page content can escape to the viewport.\n */\n@customElement('nile-app-shell-main')\nexport class NileAppShellMain extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** Drops the size query container. */\n @property({ type: Boolean, reflect: true, attribute: 'no-container' })\n noContainer: boolean = false;\n\n public render(): TemplateResult {\n return html`<slot></slot>`;\n }\n}\n\nexport default NileAppShellMain;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-app-shell-main': NileAppShellMain;\n }\n}\n"],"names":["NileAppShellMain","_n","o","this","noContainer","_this","_inherits","_createClass","key","value","render","html","_templateObject","_taggedTemplateLiteral","get","styles","NileElement","__decorate","property","type","Boolean","reflect","attribute","prototype","customElement"],"mappings":"k8GA2BaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,qEAOLC,EAAAA,KAAAA,CAAWC,WAAY,CAAA,CAAA,CAKxB,QAAAC,KAAA,EAXQC,SAAA,CAAAJ,CAAA,CAAAD,EAAA,SAAAM,YAAA,CAAAL,CAAA,GAAAM,GAAA,UAAAC,KAAA,CAQA,SAAAC,MAAAA,CAAAA,CAAAA,CACL,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,sBACZ,CAAA,KAAAL,GAAA,UAAAM,GAAA,CAVM,SAAAA,IAAA,CACL,CAAA,MAAO,CAACC,CACT,CAAA,EAMM,MAT6BC,CAA/B,GAOLC,CAAA,CAAA,CADCC,CAAS,CAAA,CAAEC,IAAMC,CAAAA,OAAAA,CAASC,SAAS,CAAMC,CAAAA,SAAAA,CAAW,cACxBtB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuB,SAAA,CAAA,aAAA,CAAA,IAAA,EAPlBvB,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAgBiB,CAAA,CAAA,CAD5BO,CAAc,CAAA,qBAAA,CAAA,CAAA,CACFxB"}