@aquera/nile-elements 1.7.3 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +7 -0
  2. package/dist/index-199b0eac.esm.js +1 -0
  3. package/dist/index-f5e587e2.cjs.js +2 -0
  4. package/dist/index-f5e587e2.cjs.js.map +1 -0
  5. package/dist/index.cjs.js +1 -1
  6. package/dist/index.esm.js +1 -1
  7. package/dist/index.js +994 -681
  8. package/dist/nile-combobox/index.cjs.js +1 -1
  9. package/dist/nile-combobox/index.esm.js +1 -1
  10. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  11. package/dist/nile-combobox/nile-combobox.cjs.js.map +1 -1
  12. package/dist/nile-combobox/nile-combobox.esm.js +28 -28
  13. package/dist/nile-detail/index.cjs.js +1 -1
  14. package/dist/nile-detail/index.esm.js +1 -1
  15. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  16. package/dist/nile-detail/nile-detail.cjs.js.map +1 -1
  17. package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
  18. package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
  19. package/dist/nile-detail/nile-detail.css.esm.js +230 -0
  20. package/dist/nile-detail/nile-detail.esm.js +89 -7
  21. package/dist/nile-floating-panel/index.cjs.js +1 -1
  22. package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
  23. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  24. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  25. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +1 -1
  26. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js +1 -1
  27. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js.map +1 -1
  28. package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.esm.js +2 -1
  29. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  30. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  31. package/dist/nile-otp-input/nile-otp-input.css.cjs.js +1 -1
  32. package/dist/nile-otp-input/nile-otp-input.css.cjs.js.map +1 -1
  33. package/dist/nile-otp-input/nile-otp-input.css.esm.js +1 -1
  34. package/dist/src/nile-detail/nile-detail.css.js +230 -0
  35. package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
  36. package/dist/src/nile-detail/nile-detail.d.ts +151 -0
  37. package/dist/src/nile-detail/nile-detail.js +829 -4
  38. package/dist/src/nile-detail/nile-detail.js.map +1 -1
  39. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +1 -1
  40. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  41. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js +2 -1
  42. package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js.map +1 -1
  43. package/dist/src/nile-otp-input/nile-otp-input.css.js +1 -1
  44. package/dist/src/nile-otp-input/nile-otp-input.css.js.map +1 -1
  45. package/dist/src/version.js +1 -1
  46. package/dist/src/version.js.map +1 -1
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +1 -1
  49. package/src/nile-detail/nile-detail.css.ts +230 -0
  50. package/src/nile-detail/nile-detail.ts +876 -4
  51. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +1 -1
  52. package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.ts +2 -1
  53. package/src/nile-otp-input/nile-otp-input.css.ts +1 -1
  54. package/vscode-html-custom-data.json +120 -1
@@ -1,2 +1,2 @@
1
- System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,i;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){e=_lit.css;}],execute:function execute(){_export("s",i=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n"]))));}};});
1
+ System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,i;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){e=_lit.css;}],execute:function execute(){_export("s",i=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n /* \u2500\u2500 Selection variant \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n .detail__selection-label {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n flex: 1;\n min-width: 0;\n }\n\n .detail__select-all {\n flex: 0 0 auto;\n }\n\n .detail__selection-title {\n display: flex;\n flex-direction: column;\n line-height: 1.3;\n min-width: 0;\n }\n\n .detail__selection-count {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__selection-content {\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__selection-toolbar {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n margin-bottom: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .detail__selection-search {\n flex: 1;\n min-width: 0;\n }\n\n .detail__selection-actions {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-xl, var(--ng-spacing-xl));\n flex: 0 0 auto;\n }\n\n .detail__selection-grid {\n display: grid;\n grid-auto-flow: column;\n gap: 8px 24px;\n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: 8px;\n scroll-snap-type: x proximity;\n }\n\n .detail__selection-grid--virtual {\n display: block;\n position: relative;\n width: 100%;\n contain: layout paint;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--vertical {\n overflow-x: hidden;\n overflow-y: auto;\n scroll-snap-type: y proximity;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--vertical::-webkit-scrollbar {\n width: 8px;\n height: 0;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--both {\n overflow: auto;\n scroll-snap-type: none;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--both::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n .detail__selection-grid--virtual .detail__selection-track {\n position: relative;\n }\n\n .detail__selection-tooltip--virtual {\n box-sizing: border-box;\n padding-right: 24px;\n }\n\n .detail__selection-grid > nile-checkbox,\n .detail__selection-grid > .detail__selection-tooltip {\n scroll-snap-align: start;\n min-width: 0;\n display: block;\n max-width: 100%;\n overflow: hidden;\n }\n\n .detail__selection-checkbox {\n display: block;\n width: 100%;\n min-width: 0;\n }\n\n .detail__selection-checkbox::part(base) {\n display: flex;\n width: 100%;\n min-width: 0;\n align-items: center;\n }\n\n .detail__selection-checkbox::part(label) {\n flex: 1 1 auto;\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .detail__selection-checkbox--disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n\n .detail__selection-text {\n display: inline-flex;\n flex-direction: column;\n min-width: 0;\n flex: 1 1 auto;\n line-height: 1.25;\n }\n\n .detail__selection-item-label {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .detail__selection-desc {\n display: block;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .detail__selection-prefix,\n .detail__selection-suffix {\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n margin: 0 6px;\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n }\n\n .detail__selection-prefix { margin-left: 0; }\n .detail__selection-suffix { margin-right: 0; }\n\n .detail__selection-placeholder {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 4px 8px;\n box-sizing: border-box;\n opacity: 0.6;\n }\n\n .detail__selection-placeholder-bar {\n width: 16px;\n height: 16px;\n border-radius: 4px;\n background: linear-gradient(\n 90deg,\n rgba(0,0,0,0.06) 0%,\n rgba(0,0,0,0.12) 50%,\n rgba(0,0,0,0.06) 100%\n );\n background-size: 200% 100%;\n animation: nile-detail-shimmer 1.4s linear infinite;\n flex: 0 0 auto;\n }\n\n .detail__selection-placeholder-label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n background: linear-gradient(\n 90deg,\n rgba(0,0,0,0.06) 0%,\n rgba(0,0,0,0.12) 50%,\n rgba(0,0,0,0.06) 100%\n );\n background-size: 200% 100%;\n background-clip: text;\n -webkit-background-clip: text;\n color: transparent;\n animation: nile-detail-shimmer 1.4s linear infinite;\n }\n\n @keyframes nile-detail-shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n\n .detail__selection-grid::-webkit-scrollbar {\n height: 8px;\n }\n\n .detail__selection-grid::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n }\n"]))));}};});
2
2
  //# sourceMappingURL=nile-detail.css.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-detail.css.cjs.js","sources":["../../../src/nile-detail/nile-detail.css.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAEaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
1
+ {"version":3,"file":"nile-detail.css.cjs.js","sources":["../../../src/nile-detail/nile-detail.css.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n /* ── Selection variant ──────────────────────────────────────────────────── */\n\n .detail__selection-label {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n flex: 1;\n min-width: 0;\n }\n\n .detail__select-all {\n flex: 0 0 auto;\n }\n\n .detail__selection-title {\n display: flex;\n flex-direction: column;\n line-height: 1.3;\n min-width: 0;\n }\n\n .detail__selection-count {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__selection-content {\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__selection-toolbar {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n margin-bottom: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .detail__selection-search {\n flex: 1;\n min-width: 0;\n }\n\n .detail__selection-actions {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-xl, var(--ng-spacing-xl));\n flex: 0 0 auto;\n }\n\n .detail__selection-grid {\n display: grid;\n grid-auto-flow: column;\n gap: 8px 24px;\n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: 8px;\n scroll-snap-type: x proximity;\n }\n\n .detail__selection-grid--virtual {\n display: block;\n position: relative;\n width: 100%;\n contain: layout paint;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--vertical {\n overflow-x: hidden;\n overflow-y: auto;\n scroll-snap-type: y proximity;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--vertical::-webkit-scrollbar {\n width: 8px;\n height: 0;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--both {\n overflow: auto;\n scroll-snap-type: none;\n }\n\n .detail__selection-grid--virtual.detail__selection-grid--both::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n\n .detail__selection-grid--virtual .detail__selection-track {\n position: relative;\n }\n\n .detail__selection-tooltip--virtual {\n box-sizing: border-box;\n padding-right: 24px;\n }\n\n .detail__selection-grid > nile-checkbox,\n .detail__selection-grid > .detail__selection-tooltip {\n scroll-snap-align: start;\n min-width: 0;\n display: block;\n max-width: 100%;\n overflow: hidden;\n }\n\n .detail__selection-checkbox {\n display: block;\n width: 100%;\n min-width: 0;\n }\n\n .detail__selection-checkbox::part(base) {\n display: flex;\n width: 100%;\n min-width: 0;\n align-items: center;\n }\n\n .detail__selection-checkbox::part(label) {\n flex: 1 1 auto;\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .detail__selection-checkbox--disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n\n .detail__selection-text {\n display: inline-flex;\n flex-direction: column;\n min-width: 0;\n flex: 1 1 auto;\n line-height: 1.25;\n }\n\n .detail__selection-item-label {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .detail__selection-desc {\n display: block;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .detail__selection-prefix,\n .detail__selection-suffix {\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n margin: 0 6px;\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n }\n\n .detail__selection-prefix { margin-left: 0; }\n .detail__selection-suffix { margin-right: 0; }\n\n .detail__selection-placeholder {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 4px 8px;\n box-sizing: border-box;\n opacity: 0.6;\n }\n\n .detail__selection-placeholder-bar {\n width: 16px;\n height: 16px;\n border-radius: 4px;\n background: linear-gradient(\n 90deg,\n rgba(0,0,0,0.06) 0%,\n rgba(0,0,0,0.12) 50%,\n rgba(0,0,0,0.06) 100%\n );\n background-size: 200% 100%;\n animation: nile-detail-shimmer 1.4s linear infinite;\n flex: 0 0 auto;\n }\n\n .detail__selection-placeholder-label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n background: linear-gradient(\n 90deg,\n rgba(0,0,0,0.06) 0%,\n rgba(0,0,0,0.12) 50%,\n rgba(0,0,0,0.06) 100%\n );\n background-size: 200% 100%;\n background-clip: text;\n -webkit-background-clip: text;\n color: transparent;\n animation: nile-detail-shimmer 1.4s linear infinite;\n }\n\n @keyframes nile-detail-shimmer {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n\n .detail__selection-grid::-webkit-scrollbar {\n height: 8px;\n }\n\n .detail__selection-grid::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAEaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
@@ -146,4 +146,234 @@ import{css as e}from"lit";const i=e`
146
146
  display: block;
147
147
  padding: var(--nile-spacing-xl, var(--ng-spacing-xl));
148
148
  }
149
+
150
+ /* ── Selection variant ──────────────────────────────────────────────────── */
151
+
152
+ .detail__selection-label {
153
+ display: flex;
154
+ align-items: center;
155
+ gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
156
+ flex: 1;
157
+ min-width: 0;
158
+ }
159
+
160
+ .detail__select-all {
161
+ flex: 0 0 auto;
162
+ }
163
+
164
+ .detail__selection-title {
165
+ display: flex;
166
+ flex-direction: column;
167
+ line-height: 1.3;
168
+ min-width: 0;
169
+ }
170
+
171
+ .detail__selection-count {
172
+ font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));
173
+ font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
174
+ color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));
175
+ margin-top: 2px;
176
+ }
177
+
178
+ .detail__selection-content {
179
+ padding: var(--nile-spacing-xl, var(--ng-spacing-xl));
180
+ }
181
+
182
+ .detail__selection-toolbar {
183
+ display: flex;
184
+ align-items: center;
185
+ gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
186
+ margin-bottom: var(--nile-spacing-lg, var(--ng-spacing-lg));
187
+ }
188
+
189
+ .detail__selection-search {
190
+ flex: 1;
191
+ min-width: 0;
192
+ }
193
+
194
+ .detail__selection-actions {
195
+ display: flex;
196
+ align-items: center;
197
+ gap: var(--nile-spacing-xl, var(--ng-spacing-xl));
198
+ flex: 0 0 auto;
199
+ }
200
+
201
+ .detail__selection-grid {
202
+ display: grid;
203
+ grid-auto-flow: column;
204
+ gap: 8px 24px;
205
+ overflow-x: auto;
206
+ overflow-y: hidden;
207
+ padding-bottom: 8px;
208
+ scroll-snap-type: x proximity;
209
+ }
210
+
211
+ .detail__selection-grid--virtual {
212
+ display: block;
213
+ position: relative;
214
+ width: 100%;
215
+ contain: layout paint;
216
+ }
217
+
218
+ .detail__selection-grid--virtual.detail__selection-grid--vertical {
219
+ overflow-x: hidden;
220
+ overflow-y: auto;
221
+ scroll-snap-type: y proximity;
222
+ }
223
+
224
+ .detail__selection-grid--virtual.detail__selection-grid--vertical::-webkit-scrollbar {
225
+ width: 8px;
226
+ height: 0;
227
+ }
228
+
229
+ .detail__selection-grid--virtual.detail__selection-grid--both {
230
+ overflow: auto;
231
+ scroll-snap-type: none;
232
+ }
233
+
234
+ .detail__selection-grid--virtual.detail__selection-grid--both::-webkit-scrollbar {
235
+ width: 8px;
236
+ height: 8px;
237
+ }
238
+
239
+ .detail__selection-grid--virtual .detail__selection-track {
240
+ position: relative;
241
+ }
242
+
243
+ .detail__selection-tooltip--virtual {
244
+ box-sizing: border-box;
245
+ padding-right: 24px;
246
+ }
247
+
248
+ .detail__selection-grid > nile-checkbox,
249
+ .detail__selection-grid > .detail__selection-tooltip {
250
+ scroll-snap-align: start;
251
+ min-width: 0;
252
+ display: block;
253
+ max-width: 100%;
254
+ overflow: hidden;
255
+ }
256
+
257
+ .detail__selection-checkbox {
258
+ display: block;
259
+ width: 100%;
260
+ min-width: 0;
261
+ }
262
+
263
+ .detail__selection-checkbox::part(base) {
264
+ display: flex;
265
+ width: 100%;
266
+ min-width: 0;
267
+ align-items: center;
268
+ }
269
+
270
+ .detail__selection-checkbox::part(label) {
271
+ flex: 1 1 auto;
272
+ min-width: 0;
273
+ max-width: 100%;
274
+ overflow: hidden;
275
+ text-overflow: ellipsis;
276
+ white-space: nowrap;
277
+ }
278
+
279
+ .detail__selection-checkbox--disabled {
280
+ opacity: 0.5;
281
+ pointer-events: none;
282
+ }
283
+
284
+ .detail__selection-text {
285
+ display: inline-flex;
286
+ flex-direction: column;
287
+ min-width: 0;
288
+ flex: 1 1 auto;
289
+ line-height: 1.25;
290
+ }
291
+
292
+ .detail__selection-item-label {
293
+ display: block;
294
+ overflow: hidden;
295
+ text-overflow: ellipsis;
296
+ white-space: nowrap;
297
+ }
298
+
299
+ .detail__selection-desc {
300
+ display: block;
301
+ font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));
302
+ color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));
303
+ margin-top: 2px;
304
+ overflow: hidden;
305
+ text-overflow: ellipsis;
306
+ white-space: nowrap;
307
+ }
308
+
309
+ .detail__selection-prefix,
310
+ .detail__selection-suffix {
311
+ display: inline-flex;
312
+ align-items: center;
313
+ flex: 0 0 auto;
314
+ margin: 0 6px;
315
+ color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));
316
+ }
317
+
318
+ .detail__selection-prefix { margin-left: 0; }
319
+ .detail__selection-suffix { margin-right: 0; }
320
+
321
+ .detail__selection-placeholder {
322
+ display: flex;
323
+ align-items: center;
324
+ gap: 10px;
325
+ padding: 4px 8px;
326
+ box-sizing: border-box;
327
+ opacity: 0.6;
328
+ }
329
+
330
+ .detail__selection-placeholder-bar {
331
+ width: 16px;
332
+ height: 16px;
333
+ border-radius: 4px;
334
+ background: linear-gradient(
335
+ 90deg,
336
+ rgba(0,0,0,0.06) 0%,
337
+ rgba(0,0,0,0.12) 50%,
338
+ rgba(0,0,0,0.06) 100%
339
+ );
340
+ background-size: 200% 100%;
341
+ animation: nile-detail-shimmer 1.4s linear infinite;
342
+ flex: 0 0 auto;
343
+ }
344
+
345
+ .detail__selection-placeholder-label {
346
+ flex: 1 1 auto;
347
+ min-width: 0;
348
+ overflow: hidden;
349
+ text-overflow: ellipsis;
350
+ white-space: nowrap;
351
+ font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));
352
+ color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));
353
+ background: linear-gradient(
354
+ 90deg,
355
+ rgba(0,0,0,0.06) 0%,
356
+ rgba(0,0,0,0.12) 50%,
357
+ rgba(0,0,0,0.06) 100%
358
+ );
359
+ background-size: 200% 100%;
360
+ background-clip: text;
361
+ -webkit-background-clip: text;
362
+ color: transparent;
363
+ animation: nile-detail-shimmer 1.4s linear infinite;
364
+ }
365
+
366
+ @keyframes nile-detail-shimmer {
367
+ 0% { background-position: 200% 0; }
368
+ 100% { background-position: -200% 0; }
369
+ }
370
+
371
+ .detail__selection-grid::-webkit-scrollbar {
372
+ height: 8px;
373
+ }
374
+
375
+ .detail__selection-grid::-webkit-scrollbar-thumb {
376
+ background: rgba(0, 0, 0, 0.2);
377
+ border-radius: 4px;
378
+ }
149
379
  `;export{i as s};
@@ -1,14 +1,93 @@
1
- import{__decorate as t}from"tslib";import{html as e,nothing as i}from"lit";import{query as s,property as a,state as r,customElement as l}from"lit/decorators.js";import{classMap as n}from"lit/directives/class-map.js";import{s as o}from"./nile-detail.css.esm.js";import{N as d}from"../internal/nile-element.esm.js";import{w as m}from"../internal/watch.esm.js";import{h,a as c,b as p,c as u,s as y,d as f}from"./nile-detail.utils.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"../internal/animate.esm.js";import"../utilities/animation-registry.esm.js";import"../internal/event.esm.js";let _=class extends d{constructor(){super(...arguments),this.open=!1,this.heading="",this.description="",this.expandIconPlacement="right",this.disabled=!1,this._detailOpen=!1}firstUpdated(){this._detailOpen=this.open,this.body.hidden=!this.open,this.body.style.height=this.open?"auto":"0"}_handleSummaryClick(t){t.preventDefault(),h(this)}_handleSummaryKeyDown(t){c(t,this)}async handleOpenChange(){this.open?(this._detailOpen=!0,await p(this)):(await u(this),this._detailOpen=!1)}async show(){return y(this)}async hide(){return f(this)}get _summaryLabel(){return[this.heading,this.description].filter(Boolean).join(", ")}render(){return e`
1
+ import{__decorate as i}from"tslib";import{html as s,nothing as e}from"lit";import{query as n,property as o,state as t,customElement as c}from"lit/decorators.js";import{classMap as r}from"lit/directives/class-map.js";import{unsafeHTML as m}from"lit/directives/unsafe-html.js";import{s as l}from"./nile-detail.css.esm.js";import{N as p}from"../internal/nile-element.esm.js";import{w as a}from"../internal/watch.esm.js";import{h as g,a as v,b as j,c as h,s as d,d as u}from"./nile-detail.utils.esm.js";import"../nile-checkbox/nile-checkbox.esm.js";import"../nile-input/nile-input.esm.js";import"../nile-link/nile-link.esm.js";import"../nile-icon/index.esm.js";import"../nile-lite-tooltip/nile-lite-tooltip.esm.js";import{V as f}from"../index-199b0eac.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"../internal/animate.esm.js";import"../utilities/animation-registry.esm.js";import"../internal/event.esm.js";import"../nile-checkbox/nile-checkbox.css.esm.js";import"../internal/default-value.esm.js";import"lit/directives/if-defined.js";import"lit/directives/live.js";import"../nile-input/nile-input.css.esm.js";import"../internal/form.esm.js";import"../internal/slot.esm.js";import"../nile-link/nile-link.css.esm.js";import"../slot.esm.js";import"../internal/accessibility/a11y.custom-value.enum.esm.js";import"../internal/accessibility/a11y.role.enum.esm.js";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/activity-logs.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/adjustment.esm.js";import"../nile-icon/icons/svg/admin-users.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/analytics.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/apps.esm.js";import"../nile-icon/icons/svg/aquera.esm.js";import"../nile-icon/icons/svg/aquerasupport.esm.js";import"../nile-icon/icons/svg/area.esm.js";import"../nile-icon/icons/svg/array-loop.esm.js";import"../nile-icon/icons/svg/array-of-boolean.esm.js";import"../nile-icon/icons/svg/array-of-integer.esm.js";import"../nile-icon/icons/svg/array-of-string.esm.js";import"../nile-icon/icons/svg/array.esm.js";import"../nile-icon/icons/svg/arrayofobject.esm.js";import"../nile-icon/icons/svg/arrow-left-small.esm.js";import"../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow-right-small.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrow_left_small.esm.js";import"../nile-icon/icons/svg/arrow_right_small.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attribute.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/automation-details.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/cell-loader.esm.js";import"../nile-icon/icons/svg/certification.esm.js";import"../nile-icon/icons/svg/check-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/class.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/code-generator.esm.js";import"../nile-icon/icons/svg/collapse-1.esm.js";import"../nile-icon/icons/svg/collapse.esm.js";import"../nile-icon/icons/svg/color.esm.js";import"../nile-icon/icons/svg/column-02.esm.js";import"../nile-icon/icons/svg/column-add.esm.js";import"../nile-icon/icons/svg/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/comment.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/components-icon.esm.js";import"../nile-icon/icons/svg/componenttext.esm.js";import"../nile-icon/icons/svg/condition.esm.js";import"../nile-icon/icons/svg/conditions.esm.js";import"../nile-icon/icons/svg/connect.esm.js";import"../nile-icon/icons/svg/connectivitymap.esm.js";import"../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../nile-icon/icons/svg/copy-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/cost-analytics.esm.js";import"../nile-icon/icons/svg/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/dashboard.esm.js";import"../nile-icon/icons/svg/data-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-json.esm.js";import"../nile-icon/icons/svg/data-type-null.esm.js";import"../nile-icon/icons/svg/data-type-number.esm.js";import"../nile-icon/icons/svg/data-type-string.esm.js";import"../nile-icon/icons/svg/data-type-unknown.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.esm.js";import"../nile-icon/icons/svg/default-cursor.esm.js";import"../nile-icon/icons/svg/default.esm.js";import"../nile-icon/icons/svg/delegate.esm.js";import"../nile-icon/icons/svg/delete.esm.js";import"../nile-icon/icons/svg/delete_history.esm.js";import"../nile-icon/icons/svg/deligateduser.esm.js";import"../nile-icon/icons/svg/directory.esm.js";import"../nile-icon/icons/svg/disabled.esm.js";import"../nile-icon/icons/svg/dock-to-right.esm.js";import"../nile-icon/icons/svg/document-new.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/doublearrowleft.esm.js";import"../nile-icon/icons/svg/doublearrowright.esm.js";import"../nile-icon/icons/svg/dowhileloop.esm.js";import"../nile-icon/icons/svg/downgrade.esm.js";import"../nile-icon/icons/svg/download.esm.js";import"../nile-icon/icons/svg/drag.esm.js";import"../nile-icon/icons/svg/edit-write.esm.js";import"../nile-icon/icons/svg/else.esm.js";import"../nile-icon/icons/svg/email.esm.js";import"../nile-icon/icons/svg/enable.esm.js";import"../nile-icon/icons/svg/entities.esm.js";import"../nile-icon/icons/svg/entitlement.esm.js";import"../nile-icon/icons/svg/error.esm.js";import"../nile-icon/icons/svg/escalate.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-03.esm.js";import"../nile-icon/icons/svg/expand-06.esm.js";import"../nile-icon/icons/svg/expand-2.esm.js";import"../nile-icon/icons/svg/expand.esm.js";import"../nile-icon/icons/svg/eye-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow.esm.js";import"../nile-icon/icons/svg/flowmap-agent.esm.js";import"../nile-icon/icons/svg/flowmap-application.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-undo.esm.js";import"../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../nile-icon/icons/svg/flowmap.esm.js";import"../nile-icon/icons/svg/folder.esm.js";import"../nile-icon/icons/svg/folder_delete.esm.js";import"../nile-icon/icons/svg/foreach.esm.js";import"../nile-icon/icons/svg/format_align_justify.esm.js";import"../nile-icon/icons/svg/format_align_left.esm.js";import"../nile-icon/icons/svg/format_align_middle.esm.js";import"../nile-icon/icons/svg/format_align_right.esm.js";import"../nile-icon/icons/svg/format_bold.esm.js";import"../nile-icon/icons/svg/format_clear.esm.js";import"../nile-icon/icons/svg/format_italic.esm.js";import"../nile-icon/icons/svg/format_list_bulleted.esm.js";import"../nile-icon/icons/svg/format_list_numbered.esm.js";import"../nile-icon/icons/svg/format_underline.esm.js";import"../nile-icon/icons/svg/frequency.esm.js";import"../nile-icon/icons/svg/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/function.esm.js";import"../nile-icon/icons/svg/funnel-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goal.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide-01.esm.js";import"../nile-icon/icons/svg/guide.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-child-workflow.esm.js";import"../nile-icon/icons/svg/header-flows.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/headphones-01.esm.js";import"../nile-icon/icons/svg/help.esm.js";import"../nile-icon/icons/svg/helpandsupport.esm.js";import"../nile-icon/icons/svg/helpers.esm.js";import"../nile-icon/icons/svg/helpsupport.esm.js";import"../nile-icon/icons/svg/history.esm.js";import"../nile-icon/icons/svg/horizontal_bar_chart.esm.js";import"../nile-icon/icons/svg/identitygraph.esm.js";import"../nile-icon/icons/svg/identityledger.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/ifelsenew.esm.js";import"../nile-icon/icons/svg/image.esm.js";import"../nile-icon/icons/svg/image_2.esm.js";import"../nile-icon/icons/svg/immutable.esm.js";import"../nile-icon/icons/svg/info-icon.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/inner-union.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/intersection.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/keyword.esm.js";import"../nile-icon/icons/svg/kill.esm.js";import"../nile-icon/icons/svg/laptop-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/left-union.esm.js";import"../nile-icon/icons/svg/leftpointarrow.esm.js";import"../nile-icon/icons/svg/life-buoy-01.esm.js";import"../nile-icon/icons/svg/line.esm.js";import"../nile-icon/icons/svg/link.esm.js";import"../nile-icon/icons/svg/link_2.esm.js";import"../nile-icon/icons/svg/list-attribute.esm.js";import"../nile-icon/icons/svg/list.esm.js";import"../nile-icon/icons/svg/loader.esm.js";import"../nile-icon/icons/svg/loading.esm.js";import"../nile-icon/icons/svg/loading2.esm.js";import"../nile-icon/icons/svg/lock.esm.js";import"../nile-icon/icons/svg/log-info.esm.js";import"../nile-icon/icons/svg/log.esm.js";import"../nile-icon/icons/svg/logo-white.esm.js";import"../nile-icon/icons/svg/logout.esm.js";import"../nile-icon/icons/svg/logs.esm.js";import"../nile-icon/icons/svg/loop.esm.js";import"../nile-icon/icons/svg/manage.esm.js";import"../nile-icon/icons/svg/map.esm.js";import"../nile-icon/icons/svg/mapcreate.esm.js";import"../nile-icon/icons/svg/mapdont.esm.js";import"../nile-icon/icons/svg/maponcreate.esm.js";import"../nile-icon/icons/svg/maponupdate.esm.js";import"../nile-icon/icons/svg/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/marker_pin_02.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/menu_close.esm.js";import"../nile-icon/icons/svg/menu_open.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/metric.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/move-application.esm.js";import"../nile-icon/icons/svg/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/my-integration.esm.js";import"../nile-icon/icons/svg/new-calendar.esm.js";import"../nile-icon/icons/svg/ng-action.esm.js";import"../nile-icon/icons/svg/ng-activity.esm.js";import"../nile-icon/icons/svg/ng-alert-circle.esm.js";import"../nile-icon/icons/svg/ng-alert-triangle.esm.js";import"../nile-icon/icons/svg/ng-align-center.esm.js";import"../nile-icon/icons/svg/ng-annotation-x.esm.js";import"../nile-icon/icons/svg/ng-arrow-down.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-down.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/ng-arrow-narrow-right.esm.js";import"../nile-icon/icons/svg/ng-arrow-up.esm.js";import"../nile-icon/icons/svg/ng-bar-chart-12.esm.js";import"../nile-icon/icons/svg/ng-bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/ng-battery-charging.esm.js";import"../nile-icon/icons/svg/ng-bell-01.esm.js";import"../nile-icon/icons/svg/ng-bell-ringing-04.esm.js";import"../nile-icon/icons/svg/ng-bold-01.esm.js";import"../nile-icon/icons/svg/ng-boolean.esm.js";import"../nile-icon/icons/svg/ng-briefcase-01.esm.js";import"../nile-icon/icons/svg/ng-building-01.esm.js";import"../nile-icon/icons/svg/ng-building-05.esm.js";import"../nile-icon/icons/svg/ng-building-07.esm.js";import"../nile-icon/icons/svg/ng-button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/ng-button-loading-blue.esm.js";import"../nile-icon/icons/svg/ng-calendar-plus-02.esm.js";import"../nile-icon/icons/svg/ng-calendar.esm.js";import"../nile-icon/icons/svg/ng-check-circle-broken.esm.js";import"../nile-icon/icons/svg/ng-check-circle.esm.js";import"../nile-icon/icons/svg/ng-check-done-01.esm.js";import"../nile-icon/icons/svg/ng-check-square-broken.esm.js";import"../nile-icon/icons/svg/ng-check.esm.js";import"../nile-icon/icons/svg/ng-chevron-down.esm.js";import"../nile-icon/icons/svg/ng-chevron-left-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-left.esm.js";import"../nile-icon/icons/svg/ng-chevron-right-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-right.esm.js";import"../nile-icon/icons/svg/ng-chevron-selector-vertical.esm.js";import"../nile-icon/icons/svg/ng-chevron-up-double.esm.js";import"../nile-icon/icons/svg/ng-chevron-up.esm.js";import"../nile-icon/icons/svg/ng-clock-refresh.esm.js";import"../nile-icon/icons/svg/ng-columns-02.esm.js";import"../nile-icon/icons/svg/ng-copy-03.esm.js";import"../nile-icon/icons/svg/ng-dataflow-02.esm.js";import"../nile-icon/icons/svg/ng-dataflow-04.esm.js";import"../nile-icon/icons/svg/ng-dots-grid.esm.js";import"../nile-icon/icons/svg/ng-dots-vertical.esm.js";import"../nile-icon/icons/svg/ng-download-01.esm.js";import"../nile-icon/icons/svg/ng-dropdown.esm.js";import"../nile-icon/icons/svg/ng-edit-02.esm.js";import"../nile-icon/icons/svg/ng-edit-05.esm.js";import"../nile-icon/icons/svg/ng-expand-06.esm.js";import"../nile-icon/icons/svg/ng-eye-off.esm.js";import"../nile-icon/icons/svg/ng-eye.esm.js";import"../nile-icon/icons/svg/ng-file-02.esm.js";import"../nile-icon/icons/svg/ng-file-06.esm.js";import"../nile-icon/icons/svg/ng-file-check-02.esm.js";import"../nile-icon/icons/svg/ng-file-question-03.esm.js";import"../nile-icon/icons/svg/ng-filter-lines.esm.js";import"../nile-icon/icons/svg/ng-folder-code.esm.js";import"../nile-icon/icons/svg/ng-grid-01.esm.js";import"../nile-icon/icons/svg/ng-hash.esm.js";import"../nile-icon/icons/svg/ng-help-circle.esm.js";import"../nile-icon/icons/svg/ng-home-line.esm.js";import"../nile-icon/icons/svg/ng-image-03.esm.js";import"../nile-icon/icons/svg/ng-image-user-left.esm.js";import"../nile-icon/icons/svg/ng-info-circle.esm.js";import"../nile-icon/icons/svg/ng-italic-01.esm.js";import"../nile-icon/icons/svg/ng-key-01.esm.js";import"../nile-icon/icons/svg/ng-layers-three-01.esm.js";import"../nile-icon/icons/svg/ng-layers-three-02.esm.js";import"../nile-icon/icons/svg/ng-lightbulb-05.esm.js";import"../nile-icon/icons/svg/ng-list.esm.js";import"../nile-icon/icons/svg/ng-lock-03.esm.js";import"../nile-icon/icons/svg/ng-log-out-01.esm.js";import"../nile-icon/icons/svg/ng-mail-01.esm.js";import"../nile-icon/icons/svg/ng-mail-04.esm.js";import"../nile-icon/icons/svg/ng-marker-pin-01.esm.js";import"../nile-icon/icons/svg/ng-menu-05.esm.js";import"../nile-icon/icons/svg/ng-message-text-square-01.esm.js";import"../nile-icon/icons/svg/ng-minimize-02.esm.js";import"../nile-icon/icons/svg/ng-minus.esm.js";import"../nile-icon/icons/svg/ng-monitor.esm.js";import"../nile-icon/icons/svg/ng-number.esm.js";import"../nile-icon/icons/svg/ng-pie-chart-03.esm.js";import"../nile-icon/icons/svg/ng-plus.esm.js";import"../nile-icon/icons/svg/ng-power-01.esm.js";import"../nile-icon/icons/svg/ng-refresh-cw-01.esm.js";import"../nile-icon/icons/svg/ng-refresh-cw-02.esm.js";import"../nile-icon/icons/svg/ng-rocket-02.esm.js";import"../nile-icon/icons/svg/ng-rows-01.esm.js";import"../nile-icon/icons/svg/ng-search-lg.esm.js";import"../nile-icon/icons/svg/ng-send-01.esm.js";import"../nile-icon/icons/svg/ng-server.esm.js";import"../nile-icon/icons/svg/ng-settings-01.esm.js";import"../nile-icon/icons/svg/ng-share-04.esm.js";import"../nile-icon/icons/svg/ng-share-06.esm.js";import"../nile-icon/icons/svg/ng-shield-tick.esm.js";import"../nile-icon/icons/svg/ng-shopping-bag-01.esm.js";import"../nile-icon/icons/svg/ng-stars-02.esm.js";import"../nile-icon/icons/svg/ng-string.esm.js";import"../nile-icon/icons/svg/ng-switch-horizontal-01.esm.js";import"../nile-icon/icons/svg/ng-tag.esm.js";import"../nile-icon/icons/svg/ng-trash-01.esm.js";import"../nile-icon/icons/svg/ng-trash-03.esm.js";import"../nile-icon/icons/svg/ng-trend-up-01.esm.js";import"../nile-icon/icons/svg/ng-underline-01.esm.js";import"../nile-icon/icons/svg/ng-upload-01.esm.js";import"../nile-icon/icons/svg/ng-upload-cloud-02.esm.js";import"../nile-icon/icons/svg/ng-user-01.esm.js";import"../nile-icon/icons/svg/ng-user-check-02-1.esm.js";import"../nile-icon/icons/svg/ng-user-check-02.esm.js";import"../nile-icon/icons/svg/ng-user-plus-02.esm.js";import"../nile-icon/icons/svg/ng-user-right-01.esm.js";import"../nile-icon/icons/svg/ng-users-01.esm.js";import"../nile-icon/icons/svg/ng-wifi.esm.js";import"../nile-icon/icons/svg/ng-x-circle.esm.js";import"../nile-icon/icons/svg/ng-x-close.esm.js";import"../nile-icon/icons/svg/ng-x-square.esm.js";import"../nile-icon/icons/svg/ng-zap.esm.js";import"../nile-icon/icons/svg/nightingale-chart.esm.js";import"../nile-icon/icons/svg/nlp.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/note.esm.js";import"../nile-icon/icons/svg/notification.esm.js";import"../nile-icon/icons/svg/notificationadd.esm.js";import"../nile-icon/icons/svg/notificationadded.esm.js";import"../nile-icon/icons/svg/null.esm.js";import"../nile-icon/icons/svg/number.esm.js";import"../nile-icon/icons/svg/numberinput.esm.js";import"../nile-icon/icons/svg/numbers.esm.js";import"../nile-icon/icons/svg/object.esm.js";import"../nile-icon/icons/svg/operators.esm.js";import"../nile-icon/icons/svg/options.esm.js";import"../nile-icon/icons/svg/orchestration-solid.esm.js";import"../nile-icon/icons/svg/orchestration.esm.js";import"../nile-icon/icons/svg/organization.esm.js";import"../nile-icon/icons/svg/other.esm.js";import"../nile-icon/icons/svg/otherdetails.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.esm.js";import"../nile-icon/icons/svg/paperclip.esm.js";import"../nile-icon/icons/svg/partner.esm.js";import"../nile-icon/icons/svg/partners.esm.js";import"../nile-icon/icons/svg/pause.esm.js";import"../nile-icon/icons/svg/pencil.esm.js";import"../nile-icon/icons/svg/peopletask.esm.js";import"../nile-icon/icons/svg/persistent-variable.esm.js";import"../nile-icon/icons/svg/persistentdata.esm.js";import"../nile-icon/icons/svg/phone.esm.js";import"../nile-icon/icons/svg/pie.esm.js";import"../nile-icon/icons/svg/pin.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/play_pause.esm.js";import"../nile-icon/icons/svg/plus.esm.js";import"../nile-icon/icons/svg/pluscircle.esm.js";import"../nile-icon/icons/svg/plussquare.esm.js";import"../nile-icon/icons/svg/policy.esm.js";import"../nile-icon/icons/svg/potentialmatch.esm.js";import"../nile-icon/icons/svg/poweron.esm.js";import"../nile-icon/icons/svg/predefined.esm.js";import"../nile-icon/icons/svg/preview.esm.js";import"../nile-icon/icons/svg/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo-02.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh.esm.js";import"../nile-icon/icons/svg/reminder.esm.js";import"../nile-icon/icons/svg/resize.esm.js";import"../nile-icon/icons/svg/resource.esm.js";import"../nile-icon/icons/svg/resource_analysis.esm.js";import"../nile-icon/icons/svg/resource_graph.esm.js";import"../nile-icon/icons/svg/restart_alt.esm.js";import"../nile-icon/icons/svg/revocation-cycle.esm.js";import"../nile-icon/icons/svg/right-join.esm.js";import"../nile-icon/icons/svg/right-union.esm.js";import"../nile-icon/icons/svg/rocket-02.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/savings.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-steps-icon.esm.js";import"../nile-icon/icons/svg/search.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.esm.js";import"../nile-icon/icons/svg/sort_ascending.esm.js";import"../nile-icon/icons/svg/sort_descending.esm.js";import"../nile-icon/icons/svg/sortascending.esm.js";import"../nile-icon/icons/svg/sortdescending.esm.js";import"../nile-icon/icons/svg/sortdown.esm.js";import"../nile-icon/icons/svg/sortup.esm.js";import"../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/step_into.esm.js";import"../nile-icon/icons/svg/step_out.esm.js";import"../nile-icon/icons/svg/step_over.esm.js";import"../nile-icon/icons/svg/stop.esm.js";import"../nile-icon/icons/svg/storybook.esm.js";import"../nile-icon/icons/svg/string.esm.js";import"../nile-icon/icons/svg/stringinput.esm.js";import"../nile-icon/icons/svg/stringletters.esm.js";import"../nile-icon/icons/svg/support.esm.js";import"../nile-icon/icons/svg/swap.esm.js";import"../nile-icon/icons/svg/switch.esm.js";import"../nile-icon/icons/svg/sync.esm.js";import"../nile-icon/icons/svg/table.esm.js";import"../nile-icon/icons/svg/tag.esm.js";import"../nile-icon/icons/svg/tag_cloud.esm.js";import"../nile-icon/icons/svg/test.esm.js";import"../nile-icon/icons/svg/text-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/thumbsdown.esm.js";import"../nile-icon/icons/svg/thumbsup.esm.js";import"../nile-icon/icons/svg/thumsup.esm.js";import"../nile-icon/icons/svg/tick.esm.js";import"../nile-icon/icons/svg/timeupdate.esm.js";import"../nile-icon/icons/svg/timezone.esm.js";import"../nile-icon/icons/svg/transaction_monitor.esm.js";import"../nile-icon/icons/svg/travel_map.esm.js";import"../nile-icon/icons/svg/trend-up-02.esm.js";import"../nile-icon/icons/svg/trigger.esm.js";import"../nile-icon/icons/svg/undo-02.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/union.esm.js";import"../nile-icon/icons/svg/unlink.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updown.esm.js";import"../nile-icon/icons/svg/upgrade.esm.js";import"../nile-icon/icons/svg/upload.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user.esm.js";import"../nile-icon/icons/svg/useractive.esm.js";import"../nile-icon/icons/svg/useradd.esm.js";import"../nile-icon/icons/svg/useraddgroup.esm.js";import"../nile-icon/icons/svg/userfind.esm.js";import"../nile-icon/icons/svg/userimport.esm.js";import"../nile-icon/icons/svg/userimportgroup.esm.js";import"../nile-icon/icons/svg/usermixed.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-plus.esm.js";import"../nile-icon/icons/svg/users-up.esm.js";import"../nile-icon/icons/svg/users.esm.js";import"../nile-icon/icons/svg/userupdate.esm.js";import"../nile-icon/icons/svg/validationexpression.esm.js";import"../nile-icon/icons/svg/variable-global.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new.esm.js";import"../nile-icon/icons/svg/variable.esm.js";import"../nile-icon/icons/svg/video.esm.js";import"../nile-icon/icons/svg/view.esm.js";import"../nile-icon/icons/svg/virtualserver.esm.js";import"../nile-icon/icons/svg/virtualservergroup.esm.js";import"../nile-icon/icons/svg/visibility.esm.js";import"../nile-icon/icons/svg/visibilityoff.esm.js";import"../nile-icon/icons/svg/visual_builder.esm.js";import"../nile-icon/icons/svg/wait.esm.js";import"../nile-icon/icons/svg/warning-01.esm.js";import"../nile-icon/icons/svg/warning.esm.js";import"../nile-icon/icons/svg/whileloop.esm.js";import"../nile-icon/icons/svg/workflow-application.esm.js";import"../nile-icon/icons/svg/workflow-text.esm.js";import"../nile-icon/icons/svg/workflow.esm.js";import"../nile-icon/icons/svg/writeexpression.esm.js";import"../nile-icon/aliasmap.esm.js";import"../nile-lite-tooltip/nile-lite-tooltip.css.esm.js";import"../tippy.esm-57628c2b.esm.js";import"../nile-lite-tooltip/utils.esm.js";import"../utilities/visibility-manager.esm.js";const b="undefined"!=typeof window;let _=class extends p{constructor(){super(...arguments),this.open=!1,this.heading="",this.description="",this.expandIconPlacement="right",this.disabled=!1,this.variant="default",this.items=[],this.selected=[],this.allowHtmlLabel=!1,this.disableLocalSearch=!1,this.pageSize=200,this.placeholderLabel="Loading…",this.searchPlaceholder="Search...",this.itemsLabel="attributes",this.restoreLabel="Restore",this.clearLabel="Clear",this.gridRows=6,this.gridColumns=3,this.minColumnWidth="220px",this.laneHeight=32,this.orientation="horizontal",this.maxHeight="320px",this.matrixColumns=20,this.virtualize=!1,this.virtualizeThreshold=60,this.overscan=4,this._detailOpen=!1,this._searchTerm="",this._selectedSet=new Set,this._restoreDefaults=null,this._gridResizeObserver=null,this._virtCtrl=null,this._rowVirtCtrl=null,this._colVirtCtrl=null,this._pageCache=new Map,this._pendingPages=new Set}get _isInfiniteMode(){return"selection"===this.variant&&"function"==typeof this.fetchPage&&"number"==typeof this.totalCount&&"both"!==this.orientation}_effectiveTotalCount(){return this._isInfiniteMode?this.totalCount??0:this._filteredItems.length}_getItemAt(i){if(!this._isInfiniteMode)return this._filteredItems[i];const s=Math.max(1,this.pageSize),e=Math.floor(i/s),n=this._pageCache.get(e);return n?n[i-e*s]:void 0}_scheduleFetchForRange(i,s){if(!this._isInfiniteMode||!this.fetchPage)return;const e=Math.max(1,this.pageSize),n=this.totalCount??0;if(n<=0)return;const o=Math.floor(i/e),t=Math.floor(Math.min(s,n-1)/e);for(let i=o;i<=t;i++)this._pageCache.has(i)||this._pendingPages.has(i)||this._loadPage(i)}async _loadPage(i){if(!this.fetchPage)return;const s=Math.max(1,this.pageSize),e=i*s,n=this.totalCount??0,o=Math.min(s,Math.max(0,n-e));if(!(o<=0)){this._pendingPages.add(i);try{const s=await this.fetchPage(e,o);this._pageCache.set(i,Array.isArray(s)?s:[]),this.dispatchEvent(new CustomEvent("nile-page-load",{detail:{pageIndex:i,offset:e,limit:o,rows:this._pageCache.get(i)},bubbles:!0,composed:!0}))}catch(s){this.dispatchEvent(new CustomEvent("nile-page-error",{detail:{pageIndex:i,offset:e,limit:o,error:s},bubbles:!0,composed:!0}))}finally{this._pendingPages.delete(i),this.requestUpdate()}}}resetPages(){this._pageCache=new Map,this._pendingPages=new Set,this.requestUpdate()}get _isVirtualized(){return!!b&&(!!this._isInfiniteMode||"selection"===this.variant&&(this.virtualize||this.items.length>this.virtualizeThreshold))}get _columnWidthPx(){const i=parseInt(this.minColumnWidth,10);return Number.isFinite(i)&&i>0?i:220}firstUpdated(){this._detailOpen=this.open,this.body.hidden=!this.open,this.body.style.height=this.open?"auto":"0",this._syncSelectedFromProperty(),null===this._restoreDefaults&&(this._restoreDefaults=[...this._selectedSet]),this._setupGridResizeObserver()}disconnectedCallback(){super.disconnectedCallback(),this._gridResizeObserver?.disconnect(),this._gridResizeObserver=null}updated(i){"selection"===this.variant&&(this._setupGridResizeObserver(),this._syncVirtualizer(),this._scheduleTooltipOverflowCheck())}_syncVirtualizer(){if(!b)return;if(!this._isVirtualized)return this._virtCtrl=null,this._rowVirtCtrl=null,void(this._colVirtCtrl=null);const i=this.shadowRoot?.querySelector(".detail__selection-grid");if(!i)return;if("both"===this.orientation)return this._virtCtrl=null,void this._syncBothVirtualizers();this._rowVirtCtrl=null,this._colVirtCtrl=null;const s=this._effectiveTotalCount(),e="vertical"===this.orientation,n=Math.max(1,e?this.gridColumns:this.gridRows),o=e?this.laneHeight:this._columnWidthPx;if(!this._virtCtrl)return void(this._virtCtrl=new f(this,{count:s,getScrollElement:()=>this.shadowRoot?.querySelector(".detail__selection-grid"),estimateSize:()=>o,horizontal:!e,lanes:n,overscan:this.overscan}));const t=this._virtCtrl.getVirtualizer(),c=t.options,r=!!c.horizontal!=!e;(c.count!==s||c.lanes!==n||c.overscan!==this.overscan||r)&&(t.setOptions({...c,count:s,lanes:n,overscan:this.overscan,horizontal:!e,estimateSize:()=>o}),t.measure())}_syncBothVirtualizers(){const i=this._filteredItems.length,s=Math.max(1,this.matrixColumns),e=Math.max(1,Math.ceil(i/s)),n=this._columnWidthPx,o=this.laneHeight,t=()=>this.shadowRoot?.querySelector(".detail__selection-grid");if(this._rowVirtCtrl){const i=this._rowVirtCtrl.getVirtualizer(),s=i.options;s.count===e&&s.overscan===this.overscan||(i.setOptions({...s,count:e,overscan:this.overscan,estimateSize:()=>o}),i.measure())}else this._rowVirtCtrl=new f(this,{count:e,getScrollElement:t,estimateSize:()=>o,horizontal:!1,overscan:this.overscan});if(this._colVirtCtrl){const i=this._colVirtCtrl.getVirtualizer(),e=i.options;e.count===s&&e.overscan===this.overscan||(i.setOptions({...e,count:s,overscan:this.overscan,estimateSize:()=>n}),i.measure())}else this._colVirtCtrl=new f(this,{count:s,getScrollElement:t,estimateSize:()=>n,horizontal:!0,overscan:this.overscan})}_setupGridResizeObserver(){if("selection"!==this.variant)return;if("undefined"==typeof ResizeObserver)return;const i=this.shadowRoot?.querySelector(".detail__selection-grid");i&&(this._gridResizeObserver||(this._gridResizeObserver=new ResizeObserver((()=>this._scheduleTooltipOverflowCheck())),this._gridResizeObserver.observe(i)))}_scheduleTooltipOverflowCheck(){"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame((()=>this._updateTooltipOverflowStates()))}async _updateTooltipOverflowStates(){const i=this.shadowRoot?.querySelectorAll(".detail__selection-tooltip");if(i)for(const s of i){const i=s.querySelector("nile-checkbox");if(!i)continue;i.updateComplete&&await i.updateComplete;const e=i.shadowRoot?.querySelector('[part="label"]');!!e&&e.scrollWidth>e.clientWidth+1?s.removeAttribute("disabled"):s.setAttribute("disabled","")}}_onSelectedPropertyChange(){this._syncSelectedFromProperty()}_onConfigChange(){this._applyConfig()}_applyConfig(){const i=this.config;if(i){if(void 0!==i.variant&&(this.variant=i.variant),void 0!==i.heading&&(this.heading=i.heading),void 0!==i.description&&(this.description=i.description),void 0!==i.itemsLabel&&(this.itemsLabel=i.itemsLabel),void 0!==i.open&&(this.open=i.open),void 0!==i.disabled&&(this.disabled=i.disabled),void 0!==i.items&&(this.items=i.items),void 0!==i.selected&&(this.selected=i.selected),void 0!==i.renderItemConfig&&(this.renderItemConfig=i.renderItemConfig),void 0!==i.allowHtmlLabel&&(this.allowHtmlLabel=i.allowHtmlLabel),i.layout){const s=i.layout;void 0!==s.orientation&&(this.orientation=s.orientation),void 0!==s.gridRows&&(this.gridRows=s.gridRows),void 0!==s.gridColumns&&(this.gridColumns=s.gridColumns),void 0!==s.matrixColumns&&(this.matrixColumns=s.matrixColumns),void 0!==s.minColumnWidth&&(this.minColumnWidth=s.minColumnWidth),void 0!==s.laneHeight&&(this.laneHeight=s.laneHeight),void 0!==s.maxHeight&&(this.maxHeight=s.maxHeight),void 0!==s.expandIconPlacement&&(this.expandIconPlacement=s.expandIconPlacement)}i.search&&(void 0!==i.search.placeholder&&(this.searchPlaceholder=i.search.placeholder),void 0!==i.search.disableLocal&&(this.disableLocalSearch=i.search.disableLocal)),i.virtualization&&(void 0!==i.virtualization.enabled&&(this.virtualize=i.virtualization.enabled),void 0!==i.virtualization.threshold&&(this.virtualizeThreshold=i.virtualization.threshold),void 0!==i.virtualization.overscan&&(this.overscan=i.virtualization.overscan)),i.pagination&&(void 0!==i.pagination.totalCount&&(this.totalCount=i.pagination.totalCount),void 0!==i.pagination.pageSize&&(this.pageSize=i.pagination.pageSize),void 0!==i.pagination.fetchPage&&(this.fetchPage=i.pagination.fetchPage),void 0!==i.pagination.placeholderLabel&&(this.placeholderLabel=i.pagination.placeholderLabel)),i.labels&&(void 0!==i.labels.restore&&(this.restoreLabel=i.labels.restore),void 0!==i.labels.clear&&(this.clearLabel=i.labels.clear))}}_syncSelectedFromProperty(){this._selectedSet=new Set(this.selected||[])}_getItemValue(i){const s=this.renderItemConfig;return s?.getValue?String(s.getValue(i)):"string"==typeof i?i:String(i.value??"")}_getItemLabel(i){const s=this.renderItemConfig;return s?.getDisplayText?s.getDisplayText(i):"string"==typeof i?i:i.label??this._getItemValue(i)}_getItemSearchText(i){const s=this.renderItemConfig;return s?.getSearchText?s.getSearchText(i):this._getItemLabel(i)}_getItemDescription(i){const s=this.renderItemConfig;return s?.getDescription?s.getDescription(i)??"":"string"==typeof i?"":i.description??""}_getItemPrefix(i){const s=this.renderItemConfig;return s?.getPrefix?s.getPrefix(i)??"":"string"==typeof i?"":i.prefix??""}_getItemSuffix(i){const s=this.renderItemConfig;return s?.getSuffix?s.getSuffix(i)??"":"string"==typeof i?"":i.suffix??""}_getItemDisabled(i){const s=this.renderItemConfig;return s?.getDisabled?!!s.getDisabled(i):"string"!=typeof i&&!!i.disabled}_getItemClassName(i){const s=this.renderItemConfig;return s?.getClassName?s.getClassName(i)??"":"string"==typeof i?"":i.className??""}get _filteredItems(){if(this.disableLocalSearch)return this.items;const i=this._searchTerm.trim().toLowerCase();return i?this.items.filter((s=>this._getItemSearchText(s).toLowerCase().includes(i))):this.items}_selectableValues(){return(this._isInfiniteMode?Array.from(this._pageCache.values()).flat():this.items).filter((i=>!this._getItemDisabled(i))).map((i=>this._getItemValue(i)))}get _allChecked(){const i=this._selectableValues();return 0!==i.length&&i.every((i=>this._selectedSet.has(i)))}get _indeterminate(){const i=this._selectableValues(),s=i.filter((i=>this._selectedSet.has(i))).length;return s>0&&s<i.length}get _countLabel(){const i=this._isInfiniteMode?this.totalCount??0:this.items.length;return`${this._selectedSet.size} of ${i} ${this.itemsLabel} selected`}_emitSelectionChange(){this.selected=[...this._selectedSet],this.dispatchEvent(new CustomEvent("nile-change",{detail:{selected:[...this._selectedSet]},bubbles:!0,composed:!0}))}_onItemChange(i,s,e){if(s)return void e.preventDefault();const n=e.target,o=new Set(this._selectedSet);n.checked?o.add(i):o.delete(i),this._selectedSet=o,this._emitSelectionChange()}_onSelectAllChange(i){const s=i.target,e=this._selectableValues(),n=new Set(this._selectedSet);s.checked?e.forEach((i=>n.add(i))):e.forEach((i=>n.delete(i))),this._selectedSet=n,this._emitSelectionChange()}_emitSearch(i){this.dispatchEvent(new CustomEvent("nile-search",{detail:{value:i},bubbles:!0,composed:!0}))}_onSearchInput(i){const s=i.target.value??"";this._searchTerm=s,this.disableLocalSearch&&this._emitSearch(s)}_onSearchClear(){this._searchTerm="",this.disableLocalSearch&&this._emitSearch("")}_onRestore(i){i.preventDefault();const s=this._restoreDefaults??this._selectableValues();this._selectedSet=new Set(s),this._emitSelectionChange()}_onClear(i){i.preventDefault(),this._selectedSet=new Set,this._emitSelectionChange()}_stopHeaderToggle(i){i.stopPropagation()}_handleSummaryClick(i){i.preventDefault(),g(this)}_handleSummaryKeyDown(i){v(i,this)}async handleOpenChange(){this.open?(this._detailOpen=!0,await j(this)):(await h(this),this._detailOpen=!1)}async show(){return d(this)}async hide(){return u(this)}get _summaryLabel(){return[this.heading,this.description].filter(Boolean).join(", ")}_renderSelectionLabel(){return s`
2
+ <div part="selection-label" class="detail__selection-label">
3
+ <nile-checkbox
4
+ part="select-all"
5
+ class="detail__select-all"
6
+ ?checked=${this._allChecked}
7
+ ?indeterminate=${this._indeterminate}
8
+ aria-label=${`Select all ${this.heading||this.itemsLabel}`}
9
+ @click=${this._stopHeaderToggle}
10
+ @nile-change=${this._onSelectAllChange}
11
+ ></nile-checkbox>
12
+ <div class="detail__selection-title">
13
+ <span part="label-text" class="detail__heading-text">${this.heading}</span>
14
+ <span part="selection-count" class="detail__selection-count">${this._countLabel}</span>
15
+ </div>
16
+ </div>
17
+ `}_renderSelectionBody(){const i=this._isVirtualized,e="vertical"===this.orientation,n="both"===this.orientation,o=this.laneHeight,t=this._columnWidthPx;let c="";if(i)if(n)c=`max-height: ${this.maxHeight}; height: ${this.maxHeight};`;else if(e)c=`max-height: ${this.maxHeight}; height: ${this.maxHeight};`;else{c=`height: ${Math.max(1,this.gridRows)*o}px;`}else if(e){c=`grid-template-columns: repeat(${Math.max(1,this.gridColumns)}, minmax(0, 1fr)); grid-auto-flow: row; max-height: ${this.maxHeight}; overflow-y: auto; overflow-x: hidden;`}else{c=`grid-template-rows: repeat(${Math.max(1,this.gridRows)}, auto); grid-auto-columns: minmax(${this.minColumnWidth}, 1fr);`}return s`
18
+ <div part="selection-toolbar" class="detail__selection-toolbar">
19
+ <nile-input
20
+ part="search"
21
+ class="detail__selection-search"
22
+ placeholder=${this.searchPlaceholder}
23
+ clearable
24
+ .value=${this._searchTerm}
25
+ @nile-input=${this._onSearchInput}
26
+ @nile-clear=${this._onSearchClear}
27
+ >
28
+ <nile-icon slot="prefix" name="search" library="system"></nile-icon>
29
+ </nile-input>
30
+ <div part="selection-actions" class="detail__selection-actions">
31
+ <nile-link href="#" variant="subtle" @click=${this._onRestore}>${this.restoreLabel}</nile-link>
32
+ <nile-link href="#" variant="subtle" @click=${this._onClear}>${this.clearLabel}</nile-link>
33
+ </div>
34
+ </div>
35
+ <div
36
+ part="selection-grid"
37
+ class=${r({"detail__selection-grid":!0,"detail__selection-grid--virtual":i,"detail__selection-grid--vertical":e,"detail__selection-grid--both":n})}
38
+ style=${c}
39
+ >
40
+ ${i?n?this._renderBothVirtualGrid(o,t):this._renderVirtualGrid(o,t,e):this._renderStaticGrid()}
41
+ </div>
42
+ `}_renderItemContent(i){const e=this._getItemLabel(i),n=this._getItemDescription(i),o=this._getItemPrefix(i),t=this._getItemSuffix(i),c=this.allowHtmlLabel;return s`
43
+ ${o?s`<span class="detail__selection-prefix" part="item-prefix">${c?m(o):o}</span>`:""}
44
+ <span class="detail__selection-text" part="item-text">
45
+ <span class="detail__selection-item-label" part="item-label">${c?m(e):e}</span>
46
+ ${n?s`<span class="detail__selection-desc" part="item-description">${c?m(n):n}</span>`:""}
47
+ </span>
48
+ ${t?s`<span class="detail__selection-suffix" part="item-suffix">${c?m(t):t}</span>`:""}
49
+ `}_renderItemTooltip(i,n={}){const o=this._getItemValue(i),t=this._getItemLabel(i),c=this._getItemDescription(i),m=this._getItemDisabled(i),l=this._getItemClassName(i),p=c?`${t} — ${c}`:t,a="detail__selection-tooltip"+(n.extraClasses?" "+n.extraClasses:""),g=r({"detail__selection-checkbox":!0,"detail__selection-checkbox--disabled":m,[l]:!!l});return s`
50
+ <nile-lite-tooltip
51
+ class=${a}
52
+ content=${p}
53
+ size="small"
54
+ disabled
55
+ style=${n.positionStyle??e}
56
+ >
57
+ <nile-checkbox
58
+ class=${g}
59
+ ?checked=${this._selectedSet.has(o)}
60
+ ?disabled=${m}
61
+ @nile-change=${i=>this._onItemChange(o,m,i)}
62
+ >${this._renderItemContent(i)}</nile-checkbox>
63
+ </nile-lite-tooltip>
64
+ `}_renderStaticGrid(){return s`${this._filteredItems.map((i=>this._renderItemTooltip(i)))}`}_renderBothVirtualGrid(i,e){const n=this._rowVirtCtrl?.getVirtualizer(),o=this._colVirtCtrl?.getVirtualizer(),t=n?.getTotalSize()??0,c=o?.getTotalSize()??0,r=n?.getVirtualItems()??[],m=o?.getVirtualItems()??[],l=Math.max(1,this.matrixColumns),p=this._filteredItems.length;return s`
65
+ <div
66
+ class="detail__selection-track"
67
+ style="width: ${c}px; height: ${t}px; position: relative;"
68
+ >
69
+ ${r.flatMap((i=>m.map((s=>{const e=i.index*l+s.index;if(e>=p)return null;const n=this._filteredItems[e];if(void 0===n)return null;const o=`position: absolute; top: ${i.start}px; left: ${s.start}px; width: ${s.size}px; height: ${i.size}px;`;return this._renderItemTooltip(n,{positionStyle:o,extraClasses:"detail__selection-tooltip--virtual"})}))))}
70
+ </div>
71
+ `}_renderVirtualGrid(i,e,n){const o=this._virtCtrl?.getVirtualizer(),t=o?.getTotalSize()??0,c=o?.getVirtualItems()??[],r=Math.max(1,n?this.gridColumns:this.gridRows);if(this._isInfiniteMode&&c.length>0){const i=c[0].index,s=c[c.length-1].index;this._scheduleFetchForRange(i,s)}return s`
72
+ <div class="detail__selection-track" style=${n?`width: 100%; height: ${t}px; position: relative;`:`width: ${t}px; height: 100%; position: relative;`}>
73
+ ${c.map((s=>{const e=s.lane??0,o=n?`position: absolute; top: ${s.start}px; left: calc(${e} * (100% / ${r})); width: calc(100% / ${r}); height: ${s.size}px;`:`position: absolute; top: ${e*i}px; left: ${s.start}px; width: ${s.size}px; height: ${i}px;`,t=this._getItemAt(s.index);return void 0===t?this._renderPlaceholder(o):this._renderItemTooltip(t,{positionStyle:o,extraClasses:"detail__selection-tooltip--virtual"})}))}
74
+ </div>
75
+ `}_renderPlaceholder(i){return s`
76
+ <div class="detail__selection-placeholder" style=${i} part="item-placeholder">
77
+ <div class="detail__selection-placeholder-bar"></div>
78
+ <span class="detail__selection-placeholder-label">${this.placeholderLabel}</span>
79
+ </div>
80
+ `}render(){const i="selection"===this.variant;return s`
2
81
  <details
3
82
  part="base"
4
83
  ?open=${this._detailOpen}
5
- class=${n({detail:!0,"detail--open":this.open,"detail--disabled":this.disabled})}
84
+ class=${r({detail:!0,"detail--open":this.open,"detail--disabled":this.disabled,"detail--selection":i})}
6
85
  >
7
86
  <summary
8
87
  part="header"
9
88
  id="header"
10
- class=${n({detail__header:!0,"detail__header--icon-left":"left"===this.expandIconPlacement})}
11
- aria-label=${this._summaryLabel||i}
89
+ class=${r({detail__header:!0,"detail__header--icon-left":"left"===this.expandIconPlacement})}
90
+ aria-label=${this._summaryLabel||e}
12
91
  aria-expanded=${this.open?"true":"false"}
13
92
  aria-disabled=${this.disabled?"true":"false"}
14
93
  tabindex=${this.disabled?"-1":"0"}
@@ -16,8 +95,10 @@ import{__decorate as t}from"tslib";import{html as e,nothing as i}from"lit";impor
16
95
  @keydown=${this._handleSummaryKeyDown}
17
96
  >
18
97
  <slot name="label" part="label" class="detail__label">
19
- <span part="label-text" class="detail__heading-text">${this.heading}</span>
20
- ${this.description?e`<span part="description" class="detail__description">${this.description}</span>`:""}
98
+ ${i?this._renderSelectionLabel():s`
99
+ <span part="label-text" class="detail__heading-text">${this.heading}</span>
100
+ ${this.description?s`<span part="description" class="detail__description">${this.description}</span>`:""}
101
+ `}
21
102
  </slot>
22
103
 
23
104
  <slot name="header-actions" part="header-actions" class="detail__header-actions"></slot>
@@ -39,7 +120,8 @@ import{__decorate as t}from"tslib";import{html as e,nothing as i}from"lit";impor
39
120
  </summary>
40
121
 
41
122
  <div part="content" class="detail__body">
123
+ ${i?s`<div part="selection-content" class="detail__selection-content">${this._renderSelectionBody()}</div>`:""}
42
124
  <slot id="content" class="detail__content"></slot>
43
125
  </div>
44
126
  </details>
45
- `}};_.styles=o,t([s("details")],_.prototype,"detail",void 0),t([s("summary")],_.prototype,"header",void 0),t([s(".detail__body")],_.prototype,"body",void 0),t([a({attribute:!0,type:Boolean,reflect:!0})],_.prototype,"open",void 0),t([a({attribute:!0,type:String,reflect:!0})],_.prototype,"heading",void 0),t([a({attribute:!0,type:String,reflect:!0})],_.prototype,"description",void 0),t([a({attribute:!0,reflect:!0})],_.prototype,"expandIconPlacement",void 0),t([a({attribute:!0,type:Boolean,reflect:!0})],_.prototype,"disabled",void 0),t([r()],_.prototype,"_detailOpen",void 0),t([m("open",{waitUntilFirstUpdate:!0})],_.prototype,"handleOpenChange",null),_=t([l("nile-detail")],_);export{_ as N};
127
+ `}};_.styles=l,i([n("details")],_.prototype,"detail",void 0),i([n("summary")],_.prototype,"header",void 0),i([n(".detail__body")],_.prototype,"body",void 0),i([o({attribute:!0,type:Boolean,reflect:!0})],_.prototype,"open",void 0),i([o({attribute:!0,type:String,reflect:!0})],_.prototype,"heading",void 0),i([o({attribute:!0,type:String,reflect:!0})],_.prototype,"description",void 0),i([o({attribute:!0,reflect:!0})],_.prototype,"expandIconPlacement",void 0),i([o({attribute:!0,type:Boolean,reflect:!0})],_.prototype,"disabled",void 0),i([o({attribute:!0,type:String,reflect:!0})],_.prototype,"variant",void 0),i([o({attribute:!1,type:Array})],_.prototype,"items",void 0),i([o({attribute:!1,type:Array})],_.prototype,"selected",void 0),i([o({attribute:!1})],_.prototype,"renderItemConfig",void 0),i([o({attribute:"allow-html-label",type:Boolean})],_.prototype,"allowHtmlLabel",void 0),i([o({attribute:"disable-local-search",type:Boolean})],_.prototype,"disableLocalSearch",void 0),i([o({attribute:"total-count",type:Number})],_.prototype,"totalCount",void 0),i([o({attribute:"page-size",type:Number})],_.prototype,"pageSize",void 0),i([o({attribute:!1})],_.prototype,"fetchPage",void 0),i([o({attribute:"placeholder-label",type:String})],_.prototype,"placeholderLabel",void 0),i([o({attribute:!1})],_.prototype,"config",void 0),i([o({attribute:"search-placeholder",type:String})],_.prototype,"searchPlaceholder",void 0),i([o({attribute:"items-label",type:String})],_.prototype,"itemsLabel",void 0),i([o({attribute:"restore-label",type:String})],_.prototype,"restoreLabel",void 0),i([o({attribute:"clear-label",type:String})],_.prototype,"clearLabel",void 0),i([o({attribute:"grid-rows",type:Number})],_.prototype,"gridRows",void 0),i([o({attribute:"grid-columns",type:Number})],_.prototype,"gridColumns",void 0),i([o({attribute:"min-column-width",type:String})],_.prototype,"minColumnWidth",void 0),i([o({attribute:"lane-height",type:Number})],_.prototype,"laneHeight",void 0),i([o({attribute:!0,type:String,reflect:!0})],_.prototype,"orientation",void 0),i([o({attribute:"max-height",type:String})],_.prototype,"maxHeight",void 0),i([o({attribute:"matrix-columns",type:Number})],_.prototype,"matrixColumns",void 0),i([o({attribute:!0,type:Boolean})],_.prototype,"virtualize",void 0),i([o({attribute:"virtualize-threshold",type:Number})],_.prototype,"virtualizeThreshold",void 0),i([o({attribute:"overscan",type:Number})],_.prototype,"overscan",void 0),i([t()],_.prototype,"_detailOpen",void 0),i([t()],_.prototype,"_searchTerm",void 0),i([t()],_.prototype,"_selectedSet",void 0),i([a("selected",{waitUntilFirstUpdate:!1})],_.prototype,"_onSelectedPropertyChange",null),i([a("config",{waitUntilFirstUpdate:!1})],_.prototype,"_onConfigChange",null),i([a("open",{waitUntilFirstUpdate:!0})],_.prototype,"handleOpenChange",null),_=i([c("nile-detail")],_);export{_ as N};
@@ -1,2 +1,2 @@
1
- System.register(["./nile-floating-panel.cjs.js","tslib","lit/decorators.js","./nile-floating-panel.css.cjs.js","lit","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js","../tippy.esm-78baa8f2.cjs.js","../nile-lite-tooltip/utils.cjs.js","../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileFloatingPanelCjsJs){_export("NileFloatingPanel",_nileFloatingPanelCjsJs.N);},function(_tslib){},function(_litDecoratorsJs){},function(_nileFloatingPanelCssCjsJs){},function(_lit){},function(_internalNileElementCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_tippyEsm005CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){}};});
1
+ System.register(["./nile-floating-panel.cjs.js","tslib","lit/decorators.js","./nile-floating-panel.css.cjs.js","lit","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js","../tippy.esm-78baa8f2.cjs.js","../nile-lite-tooltip/utils.cjs.js","../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileFloatingPanelCjsJs){_export("NileFloatingPanel",_nileFloatingPanelCjsJs.N);},function(_tslib){},function(_litDecoratorsJs){},function(_nileFloatingPanelCssCjsJs){},function(_lit){},function(_internalNileElementCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_tippyEsm006CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){}};});
2
2
  //# sourceMappingURL=index.cjs.js.map