@aquera/nile-elements 1.7.7 → 1.7.9

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 (63) hide show
  1. package/README.md +6 -0
  2. package/demo/nxtgen-classes.css +5705 -0
  3. package/demo/nxtgen-properties.css +5236 -0
  4. package/demo/nxtgen-utilities.css +10953 -0
  5. package/demo/utilities.css +662 -0
  6. package/dist/index-644974d4.esm.js +1 -0
  7. package/dist/index-dd2af8ec.cjs.js +2 -0
  8. package/dist/index-dd2af8ec.cjs.js.map +1 -0
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.js +500 -336
  12. package/dist/nile-combobox/index.cjs.js +1 -1
  13. package/dist/nile-combobox/index.esm.js +1 -1
  14. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  15. package/dist/nile-combobox/nile-combobox.esm.js +1 -1
  16. package/dist/nile-detail/index.cjs.js +1 -1
  17. package/dist/nile-detail/index.esm.js +1 -1
  18. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  19. package/dist/nile-detail/nile-detail.cjs.js.map +1 -1
  20. package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
  21. package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
  22. package/dist/nile-detail/nile-detail.css.esm.js +17 -0
  23. package/dist/nile-detail/nile-detail.esm.js +3 -3
  24. package/dist/nile-status-light/index.cjs.js +2 -0
  25. package/dist/nile-status-light/index.cjs.js.map +1 -0
  26. package/dist/nile-status-light/index.esm.js +1 -0
  27. package/dist/nile-status-light/nile-status-light.cjs.js +2 -0
  28. package/dist/nile-status-light/nile-status-light.cjs.js.map +1 -0
  29. package/dist/nile-status-light/nile-status-light.css.cjs.js +2 -0
  30. package/dist/nile-status-light/nile-status-light.css.cjs.js.map +1 -0
  31. package/dist/nile-status-light/nile-status-light.css.esm.js +136 -0
  32. package/dist/nile-status-light/nile-status-light.esm.js +13 -0
  33. package/dist/src/index.d.ts +1 -0
  34. package/dist/src/index.js +1 -0
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/nile-detail/nile-detail.css.js +17 -0
  37. package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
  38. package/dist/src/nile-detail/nile-detail.d.ts +5 -1
  39. package/dist/src/nile-detail/nile-detail.js +14 -5
  40. package/dist/src/nile-detail/nile-detail.js.map +1 -1
  41. package/dist/src/nile-status-light/index.d.ts +1 -0
  42. package/dist/src/nile-status-light/index.js +2 -0
  43. package/dist/src/nile-status-light/index.js.map +1 -0
  44. package/dist/src/nile-status-light/nile-status-light.css.d.ts +9 -0
  45. package/dist/src/nile-status-light/nile-status-light.css.js +145 -0
  46. package/dist/src/nile-status-light/nile-status-light.css.js.map +1 -0
  47. package/dist/src/nile-status-light/nile-status-light.d.ts +53 -0
  48. package/dist/src/nile-status-light/nile-status-light.js +108 -0
  49. package/dist/src/nile-status-light/nile-status-light.js.map +1 -0
  50. package/dist/src/version.js +2 -2
  51. package/dist/src/version.js.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/package.json +2 -1
  54. package/src/index.ts +1 -0
  55. package/src/nile-detail/nile-detail.css.ts +17 -0
  56. package/src/nile-detail/nile-detail.ts +17 -6
  57. package/src/nile-status-light/index.ts +1 -0
  58. package/src/nile-status-light/nile-status-light.css.ts +146 -0
  59. package/src/nile-status-light/nile-status-light.ts +111 -0
  60. package/vscode-html-custom-data.json +65 -1
  61. package/dist/index-199b0eac.esm.js +0 -1
  62. package/dist/index-f5e587e2.cjs.js +0 -2
  63. package/dist/index-f5e587e2.cjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileOtpInput } from './nile-otp-input';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileCheckboxGroup } from './nile-checkbox-group';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSkeletonLoader } from './nile-skeleton-loader';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileCombobox } from './nile-combobox';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NileCarousel } from './nile-carousel';\nexport { NileCarouselItem } from './nile-carousel/nile-carousel-item';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport {NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\nexport { NileGrid } from './nile-grid';\nexport { NileGridBody } from './nile-grid/nile-grid-body';\nexport { NileGridRow } from './nile-grid/nile-grid-row';\nexport { NileGridHeadItem } from './nile-grid/nile-grid-head-item';\nexport { NileGridCellItem } from './nile-grid/nile-grid-cell-item';\nexport { NileGridHead } from './nile-grid/nile-grid-head';\nexport { NileRichTextEditor } from './nile-rich-text-editor';\nexport { NileColorPicker } from './nile-color-picker';\nexport type { ColorPickerType, SwatchTooltip, PaletteEntry } from './nile-color-picker';\nexport { NileColorSwatch } from './nile-color-swatch';\n\n// Import version utility to set nile version in window object\nimport './version';\n\nexport { NileSideBar } from './nile-side-bar';\nexport { NileSideBarHeader } from './nile-side-bar-header';\nexport { NileSideBarLogo } from './nile-side-bar-logo';\nexport { NileSideBarExpand } from './nile-side-bar-expand';\nexport { NileSideBarGroup } from './nile-side-bar-group';\nexport { NileSideBarGroupItem } from './nile-side-bar-group-item';\nexport { NileSideBarGroupItemIcon } from './nile-side-bar-group-item-icon';\nexport { NileSideBarGroupItemText } from './nile-side-bar-group-item-text';\nexport { NileSideBarFooter } from './nile-side-bar-footer';\nexport { NileSideBarFooterItem } from './nile-side-bar-footer-item';\nexport { NileSideBarAction } from './nile-side-bar-action';\nexport { NileSideBarFooterText } from './nile-side-bar-footer-text';\nexport { NileSideBarActionMenuItem } from './nile-side-bar-action-menu-item';\nexport { NileSideBarActionMenu } from './nile-side-bar-action-menu';\nexport { NileInlineSidebarGroup } from './nile-inline-sidebar-group';\nexport { NileInlineSidebar } from './nile-inline-sidebar';\nexport { NileInlineSidebarItem } from './nile-inline-sidebar-item';\nexport { NileInlineSidebarPanel } from './nile-inline-sidebar-panel';\nexport { NileInlineSidebarPanelGroup } from './nile-inline-sidebar-panel-group';\nexport { NileliteTooltip } from './nile-lite-tooltip';\nexport { NileSideBarPanel } from './nile-side-bar-panel';\nexport { NileDetail } from './nile-detail';\nexport { NileQrCode } from './nile-qr-code';\nexport { NileNavTab } from './nile-nav-tab';\nexport { NileNavTabGroup } from './nile-nav-tab-group';\nexport { NileNavTabPanel } from './nile-nav-tab-panel';\nexport { NileFloatingPanel } from './nile-floating-panel';\nexport { NileInlineSidebarItemHeader } from './nile-inline-sidebar-item-header';\nexport { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileOtpInput } from './nile-otp-input';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileStatusLight } from './nile-status-light';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileCheckboxGroup } from './nile-checkbox-group';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSkeletonLoader } from './nile-skeleton-loader';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileCombobox } from './nile-combobox';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NileCarousel } from './nile-carousel';\nexport { NileCarouselItem } from './nile-carousel/nile-carousel-item';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport {NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\nexport { NileGrid } from './nile-grid';\nexport { NileGridBody } from './nile-grid/nile-grid-body';\nexport { NileGridRow } from './nile-grid/nile-grid-row';\nexport { NileGridHeadItem } from './nile-grid/nile-grid-head-item';\nexport { NileGridCellItem } from './nile-grid/nile-grid-cell-item';\nexport { NileGridHead } from './nile-grid/nile-grid-head';\nexport { NileRichTextEditor } from './nile-rich-text-editor';\nexport { NileColorPicker } from './nile-color-picker';\nexport type { ColorPickerType, SwatchTooltip, PaletteEntry } from './nile-color-picker';\nexport { NileColorSwatch } from './nile-color-swatch';\n\n// Import version utility to set nile version in window object\nimport './version';\n\nexport { NileSideBar } from './nile-side-bar';\nexport { NileSideBarHeader } from './nile-side-bar-header';\nexport { NileSideBarLogo } from './nile-side-bar-logo';\nexport { NileSideBarExpand } from './nile-side-bar-expand';\nexport { NileSideBarGroup } from './nile-side-bar-group';\nexport { NileSideBarGroupItem } from './nile-side-bar-group-item';\nexport { NileSideBarGroupItemIcon } from './nile-side-bar-group-item-icon';\nexport { NileSideBarGroupItemText } from './nile-side-bar-group-item-text';\nexport { NileSideBarFooter } from './nile-side-bar-footer';\nexport { NileSideBarFooterItem } from './nile-side-bar-footer-item';\nexport { NileSideBarAction } from './nile-side-bar-action';\nexport { NileSideBarFooterText } from './nile-side-bar-footer-text';\nexport { NileSideBarActionMenuItem } from './nile-side-bar-action-menu-item';\nexport { NileSideBarActionMenu } from './nile-side-bar-action-menu';\nexport { NileInlineSidebarGroup } from './nile-inline-sidebar-group';\nexport { NileInlineSidebar } from './nile-inline-sidebar';\nexport { NileInlineSidebarItem } from './nile-inline-sidebar-item';\nexport { NileInlineSidebarPanel } from './nile-inline-sidebar-panel';\nexport { NileInlineSidebarPanelGroup } from './nile-inline-sidebar-panel-group';\nexport { NileliteTooltip } from './nile-lite-tooltip';\nexport { NileSideBarPanel } from './nile-side-bar-panel';\nexport { NileDetail } from './nile-detail';\nexport { NileQrCode } from './nile-qr-code';\nexport { NileNavTab } from './nile-nav-tab';\nexport { NileNavTabGroup } from './nile-nav-tab-group';\nexport { NileNavTabPanel } from './nile-nav-tab-panel';\nexport { NileFloatingPanel } from './nile-floating-panel';\nexport { NileInlineSidebarItemHeader } from './nile-inline-sidebar-item-header';\nexport { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';"]}
@@ -400,6 +400,23 @@ export const styles = css `
400
400
  background: rgba(0, 0, 0, 0.2);
401
401
  border-radius: 4px;
402
402
  }
403
+
404
+ /* ── Light variant ──────────────────────────────────────────────────────── */
405
+
406
+ .detail--light .detail__header {
407
+ background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
408
+ padding: var(--nile-spacing-xl, var(--ng-spacing-xl))
409
+ var(--nile-spacing-3xl, var(--ng-spacing-3xl));
410
+ }
411
+
412
+ .detail--light.detail--open .detail__header {
413
+ border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
414
+ }
415
+
416
+ .detail--light .detail__content,
417
+ .detail--light .detail__selection-content {
418
+ padding: var(--nile-spacing-3xl, var(--ng-spacing-3xl));
419
+ }
403
420
  `;
404
421
  export default [styles];
405
422
  //# sourceMappingURL=nile-detail.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-detail.css.js","sourceRoot":"","sources":["../../../src/nile-detail/nile-detail.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiZxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 .detail__content--empty {\n display: none;\n padding: 0;\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-search-slot {\n display: flex;\n flex: 1;\n min-width: 0;\n }\n\n .detail__selection-search-slot::slotted(*) {\n flex: 1;\n min-width: 0;\n }\n\n .detail__selected-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\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: 4px 4px 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: visible;\n padding-left: 4px;\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"]}
1
+ {"version":3,"file":"nile-detail.css.js","sourceRoot":"","sources":["../../../src/nile-detail/nile-detail.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkaxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 .detail__content--empty {\n display: none;\n padding: 0;\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-search-slot {\n display: flex;\n flex: 1;\n min-width: 0;\n }\n\n .detail__selection-search-slot::slotted(*) {\n flex: 1;\n min-width: 0;\n }\n\n .detail__selected-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\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: 4px 4px 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: visible;\n padding-left: 4px;\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 /* ── Light variant ──────────────────────────────────────────────────────── */\n\n .detail--light .detail__header {\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl))\n var(--nile-spacing-3xl, var(--ng-spacing-3xl));\n }\n\n .detail--light.detail--open .detail__header {\n border-bottom: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n }\n\n .detail--light .detail__content,\n .detail--light .detail__selection-content {\n padding: var(--nile-spacing-3xl, var(--ng-spacing-3xl));\n }\n`;\n\nexport default [styles];\n"]}
@@ -6,7 +6,7 @@ import '../nile-link/index';
6
6
  import '../nile-icon/index';
7
7
  import '../nile-lite-tooltip/index';
8
8
  import type { CSSResultGroup } from 'lit';
9
- export type NileDetailVariant = 'default' | 'selection';
9
+ export type NileDetailVariant = 'default' | 'selection' | 'light' | 'select-light';
10
10
  export interface NileDetailSelectionItem {
11
11
  value: string;
12
12
  label?: string;
@@ -121,6 +121,10 @@ export declare class NileDetail extends NileElement {
121
121
  private _colVirtCtrl;
122
122
  private _pageCache;
123
123
  private _pendingPages;
124
+ /** True for any variant that renders the selection UI/behavior. */
125
+ private get _isSelectionVariant();
126
+ /** True for any variant that applies the light styling. */
127
+ private get _isLightVariant();
124
128
  private get _isInfiniteMode();
125
129
  private _effectiveTotalCount;
126
130
  private _getItemAt;
@@ -59,8 +59,16 @@ let NileDetail = class NileDetail extends NileElement {
59
59
  this._pageCache = new Map();
60
60
  this._pendingPages = new Set();
61
61
  }
62
+ /** True for any variant that renders the selection UI/behavior. */
63
+ get _isSelectionVariant() {
64
+ return this.variant === 'selection' || this.variant === 'select-light';
65
+ }
66
+ /** True for any variant that applies the light styling. */
67
+ get _isLightVariant() {
68
+ return this.variant === 'light' || this.variant === 'select-light';
69
+ }
62
70
  get _isInfiniteMode() {
63
- return (this.variant === 'selection' &&
71
+ return (this._isSelectionVariant &&
64
72
  typeof this.fetchPage === 'function' &&
65
73
  typeof this.totalCount === 'number' &&
66
74
  this.orientation !== 'both');
@@ -137,7 +145,7 @@ let NileDetail = class NileDetail extends NileElement {
137
145
  return false;
138
146
  if (this._isInfiniteMode)
139
147
  return true;
140
- return this.variant === 'selection'
148
+ return this._isSelectionVariant
141
149
  && (this.virtualize || this.items.length > this.virtualizeThreshold);
142
150
  }
143
151
  get _columnWidthPx() {
@@ -160,7 +168,7 @@ let NileDetail = class NileDetail extends NileElement {
160
168
  this._gridResizeObserver = null;
161
169
  }
162
170
  updated(_changed) {
163
- if (this.variant === 'selection') {
171
+ if (this._isSelectionVariant) {
164
172
  this._setupGridResizeObserver();
165
173
  this._syncVirtualizer();
166
174
  this._scheduleTooltipOverflowCheck();
@@ -272,7 +280,7 @@ let NileDetail = class NileDetail extends NileElement {
272
280
  }
273
281
  }
274
282
  _setupGridResizeObserver() {
275
- if (this.variant !== 'selection')
283
+ if (!this._isSelectionVariant)
276
284
  return;
277
285
  if (typeof ResizeObserver === 'undefined')
278
286
  return;
@@ -828,7 +836,7 @@ let NileDetail = class NileDetail extends NileElement {
828
836
  `;
829
837
  }
830
838
  render() {
831
- const isSelection = this.variant === 'selection';
839
+ const isSelection = this._isSelectionVariant;
832
840
  return html `
833
841
  <details
834
842
  part="base"
@@ -838,6 +846,7 @@ let NileDetail = class NileDetail extends NileElement {
838
846
  'detail--open': this.open,
839
847
  'detail--disabled': this.disabled,
840
848
  'detail--selection': isSelection,
849
+ 'detail--light': this._isLightVariant,
841
850
  })}
842
851
  >
843
852
  <summary
@@ -1 +1 @@
1
- {"version":3,"file":"nile-detail.js","sourceRoot":"","sources":["../../../src/nile-detail/nile-detail.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { styles } from './nile-detail.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport {\n animateShow,\n animateHide,\n showDetail,\n hideDetail,\n handleSummaryClick,\n handleSummaryKeyDown,\n} from './nile-detail.utils';\nimport '../nile-checkbox/index';\nimport '../nile-input/index';\nimport '../nile-link/index';\nimport '../nile-icon/index';\nimport '../nile-lite-tooltip/index';\nimport { VirtualizerController } from '@tanstack/lit-virtual';\nimport type { CSSResultGroup } from 'lit';\n\nexport type NileDetailVariant = 'default' | 'selection';\n\nexport interface NileDetailSelectionItem {\n value: string;\n label?: string;\n description?: string;\n prefix?: string;\n suffix?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport interface NileDetailRenderItemConfig {\n getDisplayText: (item: any) => string;\n getValue?: (item: any) => string;\n getSearchText?: (item: any) => string;\n getDescription?: (item: any) => string;\n getPrefix?: (item: any) => string;\n getSuffix?: (item: any) => string;\n getDisabled?: (item: any) => boolean;\n getClassName?: (item: any) => string;\n}\n\ntype SelectionItem = string | NileDetailSelectionItem | Record<string, any>;\n\nconst IS_BROWSER = typeof window !== 'undefined';\n\nexport interface NileDetailSelectionConfig {\n // Identity\n variant?: NileDetailVariant;\n heading?: string;\n description?: string;\n itemsLabel?: string;\n\n // Items / selection\n items?: SelectionItem[];\n selected?: string[];\n renderItemConfig?: NileDetailRenderItemConfig;\n allowHtmlLabel?: boolean;\n\n // Layout\n layout?: {\n orientation?: 'horizontal' | 'vertical' | 'both';\n gridRows?: number;\n gridColumns?: number;\n matrixColumns?: number;\n minColumnWidth?: string;\n laneHeight?: number;\n maxHeight?: string;\n expandIconPlacement?: 'left' | 'right';\n };\n\n // Search\n search?: {\n placeholder?: string;\n disableLocal?: boolean;\n };\n\n // Virtualization\n virtualization?: {\n enabled?: boolean;\n threshold?: number;\n overscan?: number;\n };\n\n // Pagination / infinite scroll\n pagination?: {\n totalCount?: number;\n pageSize?: number;\n fetchPage?: (offset: number, limit: number) => Promise<SelectionItem[]>;\n placeholderLabel?: string;\n };\n\n // Action labels\n labels?: {\n restore?: string;\n clear?: string;\n selectedOnly?: string;\n showAll?: string;\n };\n\n showSelectedToggle?: boolean;\n\n // Inherited / passthrough\n open?: boolean;\n disabled?: boolean;\n}\n\n@customElement('nile-detail')\nexport class NileDetail extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n @query('details') detail: HTMLDetailsElement;\n @query('summary') header: HTMLElement;\n @query('.detail__body') body: HTMLElement;\n\n @property({ attribute: true, type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: true, type: String, reflect: true }) heading = '';\n\n @property({ attribute: true, type: String, reflect: true }) description = '';\n\n @property({ attribute: true, reflect: true }) expandIconPlacement: 'left' | 'right' = 'right';\n\n @property({ attribute: true, type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: true, type: String, reflect: true }) variant: NileDetailVariant = 'default';\n\n @property({ attribute: false, type: Array }) items: SelectionItem[] = [];\n\n @property({ attribute: false, type: Array }) selected: string[] = [];\n\n @property({ attribute: false }) renderItemConfig?: NileDetailRenderItemConfig;\n\n @property({ attribute: 'allow-html-label', type: Boolean }) allowHtmlLabel = false;\n\n @property({ attribute: 'disable-local-search', type: Boolean }) disableLocalSearch = false;\n\n @property({ attribute: 'total-count', type: Number }) totalCount?: number;\n\n @property({ attribute: 'page-size', type: Number }) pageSize = 200;\n\n @property({ attribute: false }) fetchPage?: (offset: number, limit: number) => Promise<SelectionItem[]>;\n\n @property({ attribute: 'placeholder-label', type: String }) placeholderLabel = 'Loading…';\n\n @property({ attribute: false }) config?: NileDetailSelectionConfig;\n\n @property({ attribute: 'search-placeholder', type: String }) searchPlaceholder = 'Search...';\n\n @property({ attribute: 'items-label', type: String }) itemsLabel = 'attributes';\n\n @property({ attribute: 'restore-label', type: String }) restoreLabel = 'Restore';\n\n @property({ attribute: 'clear-label', type: String }) clearLabel = 'Clear';\n\n @property({ attribute: 'grid-rows', type: Number }) gridRows = 6;\n\n @property({ attribute: 'grid-columns', type: Number }) gridColumns = 3;\n\n @property({ attribute: 'min-column-width', type: String }) minColumnWidth = '220px';\n\n @property({ attribute: 'lane-height', type: Number }) laneHeight = 32;\n\n @property({ attribute: true, type: String, reflect: true }) orientation: 'horizontal' | 'vertical' | 'both' = 'horizontal';\n\n @property({ attribute: 'max-height', type: String }) maxHeight = '320px';\n\n @property({ attribute: 'matrix-columns', type: Number }) matrixColumns = 20;\n\n @property({ attribute: true, type: Boolean }) virtualize = false;\n\n @property({ attribute: 'virtualize-threshold', type: Number }) virtualizeThreshold = 60;\n\n @property({ attribute: 'overscan', type: Number }) overscan = 4;\n\n @state() private _detailOpen = false;\n\n @state() private _hasSlottedContent = false;\n\n @state() private _searchTerm = '';\n\n @state() private _selectedSet: Set<string> = new Set();\n\n @state() private _showSelectedOnly = false;\n\n @property({ attribute: 'show-selected-toggle', type: Boolean, reflect: true }) showSelectedToggle = false;\n\n @property({ attribute: 'selected-only-label', type: String }) selectedOnlyLabel = 'Selected';\n\n @property({ attribute: 'show-all-label', type: String }) showAllLabel = 'Show all';\n\n private _restoreDefaults: string[] | null = null;\n\n private _gridResizeObserver: ResizeObserver | null = null;\n\n private _virtCtrl: VirtualizerController<HTMLElement, HTMLElement> | null = null;\n\n private _rowVirtCtrl: VirtualizerController<HTMLElement, HTMLElement> | null = null;\n\n private _colVirtCtrl: VirtualizerController<HTMLElement, HTMLElement> | null = null;\n\n private _pageCache: any = new Map();\n\n private _pendingPages: any = new Set();\n\n private get _isInfiniteMode(): boolean {\n return (\n this.variant === 'selection' &&\n typeof this.fetchPage === 'function' &&\n typeof this.totalCount === 'number' &&\n this.orientation !== 'both'\n );\n }\n\n private _effectiveTotalCount(): number {\n if (this._isInfiniteMode) return this.totalCount ?? 0;\n return this._filteredItems.length;\n }\n\n private _getItemAt(index: number): SelectionItem | undefined {\n if (!this._isInfiniteMode) return this._filteredItems[index];\n const pageSize = Math.max(1, this.pageSize);\n const pageIndex = Math.floor(index / pageSize);\n const page = this._pageCache.get(pageIndex);\n if (!page) return undefined;\n return page[index - pageIndex * pageSize];\n }\n\n private _scheduleFetchForRange(start: number, end: number) {\n if (!this._isInfiniteMode || !this.fetchPage) return;\n const pageSize = Math.max(1, this.pageSize);\n const total = this.totalCount ?? 0;\n if (total <= 0) return;\n\n const firstPage = Math.floor(start / pageSize);\n const lastPage = Math.floor(Math.min(end, total - 1) / pageSize);\n for (let p = firstPage; p <= lastPage; p++) {\n if (this._pageCache.has(p) || this._pendingPages.has(p)) continue;\n this._loadPage(p);\n }\n }\n\n private async _loadPage(pageIndex: number) {\n if (!this.fetchPage) return;\n const pageSize = Math.max(1, this.pageSize);\n const offset = pageIndex * pageSize;\n const total = this.totalCount ?? 0;\n const limit = Math.min(pageSize, Math.max(0, total - offset));\n if (limit <= 0) return;\n\n this._pendingPages.add(pageIndex);\n try {\n const rows = await this.fetchPage(offset, limit);\n this._pageCache.set(pageIndex, Array.isArray(rows) ? rows : []);\n this.dispatchEvent(\n new CustomEvent('nile-page-load', {\n detail: { pageIndex, offset, limit, rows: this._pageCache.get(pageIndex) },\n bubbles: true,\n composed: true,\n })\n );\n } catch (err) {\n this.dispatchEvent(\n new CustomEvent('nile-page-error', {\n detail: { pageIndex, offset, limit, error: err },\n bubbles: true,\n composed: true,\n })\n );\n } finally {\n this._pendingPages.delete(pageIndex);\n this.requestUpdate();\n }\n }\n\n /** Public: clear the page cache (use after a query change to refetch). */\n resetPages() {\n this._pageCache = new Map();\n this._pendingPages = new Set();\n this.requestUpdate();\n }\n\n private get _isVirtualized(): boolean {\n if (!IS_BROWSER) return false;\n if (this._isInfiniteMode) return true;\n return this.variant === 'selection'\n && (this.virtualize || this.items.length > this.virtualizeThreshold);\n }\n\n private get _columnWidthPx(): number {\n const parsed = parseInt(this.minColumnWidth, 10);\n return Number.isFinite(parsed) && parsed > 0 ? parsed : 220;\n }\n\n firstUpdated() {\n this._detailOpen = this.open;\n this.body.hidden = !this.open;\n this.body.style.height = this.open ? 'auto' : '0';\n this._syncSelectedFromProperty();\n if (this._restoreDefaults === null) {\n this._restoreDefaults = [...this._selectedSet];\n }\n this._setupGridResizeObserver();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._gridResizeObserver?.disconnect();\n this._gridResizeObserver = null;\n }\n\n updated(_changed: Map<string, unknown>) {\n if (this.variant === 'selection') {\n this._setupGridResizeObserver();\n this._syncVirtualizer();\n this._scheduleTooltipOverflowCheck();\n }\n }\n\n private _syncVirtualizer() {\n if (!IS_BROWSER) return;\n if (!this._isVirtualized) {\n this._virtCtrl = null;\n this._rowVirtCtrl = null;\n this._colVirtCtrl = null;\n return;\n }\n const grid = this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null;\n if (!grid) return;\n\n if (this.orientation === 'both') {\n this._virtCtrl = null;\n this._syncBothVirtualizers();\n return;\n }\n\n // Reset 2-axis controllers if we switched away from 'both'.\n this._rowVirtCtrl = null;\n this._colVirtCtrl = null;\n\n const count = this._effectiveTotalCount();\n const isVertical = this.orientation === 'vertical';\n const lanes = Math.max(1, isVertical ? this.gridColumns : this.gridRows);\n const itemSize = isVertical ? this.laneHeight : this._columnWidthPx;\n\n if (!this._virtCtrl) {\n this._virtCtrl = new VirtualizerController<HTMLElement, HTMLElement>(this, {\n count,\n getScrollElement: () =>\n this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null,\n estimateSize: () => itemSize,\n horizontal: !isVertical,\n lanes,\n overscan: this.overscan,\n });\n return;\n }\n\n const v = this._virtCtrl.getVirtualizer();\n const prev = v.options;\n const orientationChanged = !!prev.horizontal !== !isVertical;\n if (\n prev.count !== count ||\n prev.lanes !== lanes ||\n prev.overscan !== this.overscan ||\n orientationChanged\n ) {\n v.setOptions({\n ...prev,\n count,\n lanes,\n overscan: this.overscan,\n horizontal: !isVertical,\n estimateSize: () => itemSize,\n });\n v.measure();\n }\n }\n\n private _syncBothVirtualizers() {\n const totalItems = this._filteredItems.length;\n const cols = Math.max(1, this.matrixColumns);\n const rows = Math.max(1, Math.ceil(totalItems / cols));\n const columnWidth = this._columnWidthPx;\n const rowHeight = this.laneHeight;\n const getScrollEl = () =>\n this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null;\n\n if (!this._rowVirtCtrl) {\n this._rowVirtCtrl = new VirtualizerController<HTMLElement, HTMLElement>(this, {\n count: rows,\n getScrollElement: getScrollEl,\n estimateSize: () => rowHeight,\n horizontal: false,\n overscan: this.overscan,\n });\n } else {\n const rv = this._rowVirtCtrl.getVirtualizer();\n const prev = rv.options;\n if (prev.count !== rows || prev.overscan !== this.overscan) {\n rv.setOptions({\n ...prev,\n count: rows,\n overscan: this.overscan,\n estimateSize: () => rowHeight,\n });\n rv.measure();\n }\n }\n\n if (!this._colVirtCtrl) {\n this._colVirtCtrl = new VirtualizerController<HTMLElement, HTMLElement>(this, {\n count: cols,\n getScrollElement: getScrollEl,\n estimateSize: () => columnWidth,\n horizontal: true,\n overscan: this.overscan,\n });\n } else {\n const cv = this._colVirtCtrl.getVirtualizer();\n const prev = cv.options;\n if (prev.count !== cols || prev.overscan !== this.overscan) {\n cv.setOptions({\n ...prev,\n count: cols,\n overscan: this.overscan,\n estimateSize: () => columnWidth,\n });\n cv.measure();\n }\n }\n }\n\n private _setupGridResizeObserver() {\n if (this.variant !== 'selection') return;\n if (typeof ResizeObserver === 'undefined') return;\n const grid = this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null;\n if (!grid) return;\n if (this._gridResizeObserver) return;\n this._gridResizeObserver = new ResizeObserver(() => this._scheduleTooltipOverflowCheck());\n this._gridResizeObserver.observe(grid);\n }\n\n private _scheduleTooltipOverflowCheck() {\n if (typeof requestAnimationFrame === 'undefined') return;\n requestAnimationFrame(() => this._updateTooltipOverflowStates());\n }\n\n private async _updateTooltipOverflowStates() {\n const tooltips = this.shadowRoot?.querySelectorAll(\n '.detail__selection-tooltip'\n ) as NodeListOf<HTMLElement> | undefined;\n if (!tooltips) return;\n for (const tip of tooltips) {\n const cb = tip.querySelector('nile-checkbox') as HTMLElement & { updateComplete?: Promise<unknown> } | null;\n if (!cb) continue;\n if (cb.updateComplete) await cb.updateComplete;\n const labelEl = cb.shadowRoot?.querySelector('[part=\"label\"]') as HTMLElement | null;\n const overflowing = !!labelEl && labelEl.scrollWidth > labelEl.clientWidth + 1;\n if (overflowing) tip.removeAttribute('disabled');\n else tip.setAttribute('disabled', '');\n }\n }\n\n @watch('selected', { waitUntilFirstUpdate: false })\n _onSelectedPropertyChange() {\n this._syncSelectedFromProperty();\n }\n\n @watch('config', { waitUntilFirstUpdate: false })\n _onConfigChange() {\n this._applyConfig();\n }\n\n private _applyConfig() {\n const c = this.config;\n if (!c) return;\n\n if (c.variant !== undefined) this.variant = c.variant;\n if (c.heading !== undefined) this.heading = c.heading;\n if (c.description !== undefined) this.description = c.description;\n if (c.itemsLabel !== undefined) this.itemsLabel = c.itemsLabel;\n if (c.open !== undefined) this.open = c.open;\n if (c.disabled !== undefined) this.disabled = c.disabled;\n\n if (c.items !== undefined) this.items = c.items;\n if (c.selected !== undefined) this.selected = c.selected;\n if (c.renderItemConfig !== undefined) this.renderItemConfig = c.renderItemConfig;\n if (c.allowHtmlLabel !== undefined) this.allowHtmlLabel = c.allowHtmlLabel;\n\n if (c.layout) {\n const l = c.layout;\n if (l.orientation !== undefined) this.orientation = l.orientation;\n if (l.gridRows !== undefined) this.gridRows = l.gridRows;\n if (l.gridColumns !== undefined) this.gridColumns = l.gridColumns;\n if (l.matrixColumns !== undefined) this.matrixColumns = l.matrixColumns;\n if (l.minColumnWidth !== undefined) this.minColumnWidth = l.minColumnWidth;\n if (l.laneHeight !== undefined) this.laneHeight = l.laneHeight;\n if (l.maxHeight !== undefined) this.maxHeight = l.maxHeight;\n if (l.expandIconPlacement !== undefined) this.expandIconPlacement = l.expandIconPlacement;\n }\n\n if (c.search) {\n if (c.search.placeholder !== undefined) this.searchPlaceholder = c.search.placeholder;\n if (c.search.disableLocal !== undefined) this.disableLocalSearch = c.search.disableLocal;\n }\n\n if (c.virtualization) {\n if (c.virtualization.enabled !== undefined) this.virtualize = c.virtualization.enabled;\n if (c.virtualization.threshold !== undefined) this.virtualizeThreshold = c.virtualization.threshold;\n if (c.virtualization.overscan !== undefined) this.overscan = c.virtualization.overscan;\n }\n\n if (c.pagination) {\n if (c.pagination.totalCount !== undefined) this.totalCount = c.pagination.totalCount;\n if (c.pagination.pageSize !== undefined) this.pageSize = c.pagination.pageSize;\n if (c.pagination.fetchPage !== undefined) this.fetchPage = c.pagination.fetchPage;\n if (c.pagination.placeholderLabel !== undefined) this.placeholderLabel = c.pagination.placeholderLabel;\n }\n\n if (c.labels) {\n if (c.labels.restore !== undefined) this.restoreLabel = c.labels.restore;\n if (c.labels.clear !== undefined) this.clearLabel = c.labels.clear;\n if (c.labels.selectedOnly !== undefined) this.selectedOnlyLabel = c.labels.selectedOnly;\n if (c.labels.showAll !== undefined) this.showAllLabel = c.labels.showAll;\n }\n\n if (c.showSelectedToggle !== undefined) this.showSelectedToggle = c.showSelectedToggle;\n }\n\n private _syncSelectedFromProperty() {\n this._selectedSet = new Set(this.selected || []);\n }\n\n private _getItemValue(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getValue) return String(rc.getValue(item));\n if (typeof item === 'string') return item;\n return String((item as NileDetailSelectionItem).value ?? '');\n }\n\n private _getItemLabel(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getDisplayText) return rc.getDisplayText(item);\n if (typeof item === 'string') return item;\n return (item as NileDetailSelectionItem).label ?? this._getItemValue(item);\n }\n\n private _getItemSearchText(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getSearchText) return rc.getSearchText(item);\n return this._getItemLabel(item);\n }\n\n private _getItemDescription(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getDescription) return rc.getDescription(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).description ?? '';\n }\n\n private _getItemPrefix(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getPrefix) return rc.getPrefix(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).prefix ?? '';\n }\n\n private _getItemSuffix(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getSuffix) return rc.getSuffix(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).suffix ?? '';\n }\n\n private _getItemDisabled(item: SelectionItem): boolean {\n const rc = this.renderItemConfig;\n if (rc?.getDisabled) return !!rc.getDisabled(item);\n if (typeof item === 'string') return false;\n return !!(item as NileDetailSelectionItem).disabled;\n }\n\n private _getItemClassName(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getClassName) return rc.getClassName(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).className ?? '';\n }\n\n private get _filteredItems(): SelectionItem[] {\n let source: SelectionItem[] = this.items;\n\n if (this._showSelectedOnly) {\n source = source.filter(item => this._selectedSet.has(this._getItemValue(item)));\n }\n\n if (this.disableLocalSearch) return source;\n const q = this._searchTerm.trim().toLowerCase();\n if (!q) return source;\n return source.filter(item =>\n this._getItemSearchText(item).toLowerCase().includes(q)\n );\n }\n\n private _onToggleSelectedOnly(event: Event) {\n event.preventDefault();\n const next = !this._showSelectedOnly;\n if (next && this._selectedSet.size === 0) return;\n this._showSelectedOnly = next;\n }\n\n private _selectableValues(): string[] {\n const source: SelectionItem[] = this._isInfiniteMode\n ? (Array.from(this._pageCache.values()).flat() as SelectionItem[])\n : this.items;\n return source\n .filter(i => !this._getItemDisabled(i))\n .map(i => this._getItemValue(i));\n }\n\n private get _allChecked(): boolean {\n const selectable = this._selectableValues();\n if (selectable.length === 0) return false;\n return selectable.every(v => this._selectedSet.has(v));\n }\n\n private get _indeterminate(): boolean {\n const selectable = this._selectableValues();\n const sel = selectable.filter(v => this._selectedSet.has(v)).length;\n return sel > 0 && sel < selectable.length;\n }\n\n private get _countLabel(): string {\n const total = this._isInfiniteMode ? (this.totalCount ?? 0) : this.items.length;\n return `${this._selectedSet.size} of ${total} ${this.itemsLabel} selected`;\n }\n\n private _emitSelectionChange() {\n this.selected = [...this._selectedSet];\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { selected: [...this._selectedSet] },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _onItemChange(value: string, disabled: boolean, event: Event) {\n if (disabled) {\n event.preventDefault();\n return;\n }\n const target = event.target as HTMLInputElement;\n const next = new Set(this._selectedSet);\n if (target.checked) next.add(value);\n else next.delete(value);\n this._selectedSet = next;\n this._emitSelectionChange();\n }\n\n private _onSelectAllChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const selectable = this._selectableValues();\n const next = new Set(this._selectedSet);\n if (target.checked) selectable.forEach(v => next.add(v));\n else selectable.forEach(v => next.delete(v));\n this._selectedSet = next;\n this._emitSelectionChange();\n }\n\n private _emitSearch(value: string) {\n this.dispatchEvent(\n new CustomEvent('nile-search', {\n detail: { value },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _onSearchInput(event: Event) {\n const target = event.target as HTMLInputElement;\n const value = target.value ?? '';\n this._searchTerm = value;\n if (this.disableLocalSearch) this._emitSearch(value);\n }\n\n private _onSearchClear() {\n this._searchTerm = '';\n if (this.disableLocalSearch) this._emitSearch('');\n }\n\n private _onRestore(event: Event) {\n event.preventDefault();\n const source = this._restoreDefaults ?? this._selectableValues();\n this._selectedSet = new Set(source);\n this._emitSelectionChange();\n }\n\n private _onClear(event: Event) {\n event.preventDefault();\n this._selectedSet = new Set();\n this._showSelectedOnly = false;\n this._emitSelectionChange();\n }\n\n private _handleDefaultSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n this._hasSlottedContent = nodes.some(node => {\n if (node.nodeType === Node.ELEMENT_NODE) return true;\n if (node.nodeType === Node.TEXT_NODE) return !!(node.textContent && node.textContent.trim());\n return false;\n });\n }\n\n private _stopHeaderToggle(event: Event) {\n event.stopPropagation();\n }\n\n private _handleSummaryClick(event: Event) {\n event.preventDefault();\n handleSummaryClick(this);\n }\n\n private _handleSummaryKeyDown(event: KeyboardEvent) {\n handleSummaryKeyDown(event, this);\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n this._detailOpen = true;\n await animateShow(this);\n } else {\n await animateHide(this);\n this._detailOpen = false;\n }\n }\n\n async show() {\n return showDetail(this);\n }\n\n async hide() {\n return hideDetail(this);\n }\n\n private get _summaryLabel(): string {\n return [this.heading, this.description].filter(Boolean).join(', ');\n }\n\n private _renderSelectionLabel(): TemplateResult {\n return html`\n <div part=\"selection-label\" class=\"detail__selection-label\">\n <nile-checkbox\n part=\"select-all\"\n class=\"detail__select-all\"\n ?checked=${this._allChecked}\n ?indeterminate=${this._indeterminate}\n aria-label=${`Select all ${this.heading || this.itemsLabel}`}\n @click=${this._stopHeaderToggle}\n @nile-change=${this._onSelectAllChange}\n ></nile-checkbox>\n <div class=\"detail__selection-title\">\n <span part=\"label-text\" class=\"detail__heading-text\">${this.heading}</span>\n <span part=\"selection-count\" class=\"detail__selection-count\">${this._countLabel}</span>\n </div>\n </div>\n `;\n }\n\n private _renderSelectionBody(): TemplateResult {\n const virtualized = this._isVirtualized;\n const isVertical = this.orientation === 'vertical';\n const isBoth = this.orientation === 'both';\n const laneHeightPx = this.laneHeight;\n const columnWidth = this._columnWidthPx;\n\n let gridStyle = '';\n if (virtualized) {\n if (isBoth) {\n gridStyle = `max-height: ${this.maxHeight}; height: ${this.maxHeight};`;\n } else if (isVertical) {\n gridStyle = `max-height: ${this.maxHeight}; height: ${this.maxHeight};`;\n } else {\n const lanes = Math.max(1, this.gridRows);\n gridStyle = `height: ${lanes * laneHeightPx}px;`;\n }\n } else if (isVertical) {\n const cols = Math.max(1, this.gridColumns);\n gridStyle = `grid-template-columns: repeat(${cols}, minmax(0, 1fr)); grid-auto-flow: row; max-height: ${this.maxHeight}; overflow-y: auto; overflow-x: hidden;`;\n } else {\n const lanes = Math.max(1, this.gridRows);\n gridStyle = `grid-template-rows: repeat(${lanes}, auto); grid-auto-columns: minmax(${this.minColumnWidth}, 1fr);`;\n }\n\n return html`\n <div part=\"selection-toolbar\" class=\"detail__selection-toolbar\">\n <slot name=\"tooblar-actions-prefix\"></slot>\n <slot name=\"toolbar-search\" class=\"detail__selection-search-slot\">\n <nile-input\n part=\"search\"\n class=\"detail__selection-search\"\n placeholder=${this.searchPlaceholder}\n clearable\n .value=${this._searchTerm}\n @nile-input=${this._onSearchInput}\n @nile-clear=${this._onSearchClear}\n >\n <nile-icon slot=\"prefix\" name=\"search\" library=\"system\"></nile-icon>\n </nile-input>\n </slot>\n <slot name=\"toolbar-actions\" class=\"detail__selection-actions\">\n ${this.showSelectedToggle\n ? html`\n <nile-link\n href=\"#\"\n variant=\"subtle\"\n class=\"detail__selected-toggle\"\n @click=${this._onToggleSelectedOnly}\n >\n <nile-icon slot=\"prefix\" name=\"filter\" library=\"system\"></nile-icon>\n ${this._showSelectedOnly ? this.showAllLabel : this.selectedOnlyLabel}\n </nile-link>\n `\n : nothing}\n <nile-link href=\"#\" variant=\"subtle\" @click=${this._onRestore}>${this.restoreLabel}</nile-link>\n <nile-link href=\"#\" variant=\"subtle\" @click=${this._onClear}>${this.clearLabel}</nile-link>\n </slot>\n <slot name=\"tooblar-actions-suffix\"></slot>\n </div>\n <div\n part=\"selection-grid\"\n class=${classMap({\n 'detail__selection-grid': true,\n 'detail__selection-grid--virtual': virtualized,\n 'detail__selection-grid--vertical': isVertical,\n 'detail__selection-grid--both': isBoth,\n })}\n style=${gridStyle}\n >\n ${virtualized\n ? (isBoth\n ? this._renderBothVirtualGrid(laneHeightPx, columnWidth)\n : this._renderVirtualGrid(laneHeightPx, columnWidth, isVertical))\n : this._renderStaticGrid()}\n </div>\n `;\n }\n\n private _renderItemContent(item: SelectionItem): TemplateResult {\n const label = this._getItemLabel(item);\n const description = this._getItemDescription(item);\n const prefix = this._getItemPrefix(item);\n const suffix = this._getItemSuffix(item);\n const allowHtml = this.allowHtmlLabel;\n return html`\n ${prefix\n ? html`<span class=\"detail__selection-prefix\" part=\"item-prefix\">${allowHtml ? unsafeHTML(prefix) : prefix}</span>`\n : ''}\n <span class=\"detail__selection-text\" part=\"item-text\">\n <span class=\"detail__selection-item-label\" part=\"item-label\">${allowHtml ? unsafeHTML(label) : label}</span>\n ${description\n ? html`<span class=\"detail__selection-desc\" part=\"item-description\">${allowHtml ? unsafeHTML(description) : description}</span>`\n : ''}\n </span>\n ${suffix\n ? html`<span class=\"detail__selection-suffix\" part=\"item-suffix\">${allowHtml ? unsafeHTML(suffix) : suffix}</span>`\n : ''}\n `;\n }\n\n private _renderItemTooltip(item: SelectionItem, opts: { positionStyle?: string; extraClasses?: string } = {}): TemplateResult {\n const value = this._getItemValue(item);\n const label = this._getItemLabel(item);\n const description = this._getItemDescription(item);\n const isDisabled = this._getItemDisabled(item);\n const className = this._getItemClassName(item);\n const tooltipContent = description ? `${label} — ${description}` : label;\n\n const tooltipClass = `detail__selection-tooltip${opts.extraClasses ? ' ' + opts.extraClasses : ''}`;\n const checkboxClass = classMap({\n 'detail__selection-checkbox': true,\n 'detail__selection-checkbox--disabled': isDisabled,\n [className]: !!className,\n });\n\n return html`\n <nile-lite-tooltip\n class=${tooltipClass}\n content=${tooltipContent}\n size=\"small\"\n disabled\n style=${opts.positionStyle ?? nothing as any}\n >\n <nile-checkbox\n class=${checkboxClass}\n ?checked=${this._selectedSet.has(value)}\n ?disabled=${isDisabled}\n @nile-change=${(e: Event) => this._onItemChange(value, isDisabled, e)}\n >${this._renderItemContent(item)}</nile-checkbox>\n </nile-lite-tooltip>\n `;\n }\n\n private _renderStaticGrid(): TemplateResult {\n return html`${this._filteredItems.map(item => this._renderItemTooltip(item))}`;\n }\n\n private _renderBothVirtualGrid(_laneHeightPx: number, _columnWidthPx: number): TemplateResult {\n const rowV = this._rowVirtCtrl?.getVirtualizer();\n const colV = this._colVirtCtrl?.getVirtualizer();\n const rowTotal = rowV?.getTotalSize() ?? 0;\n const colTotal = colV?.getTotalSize() ?? 0;\n const rowItems = rowV?.getVirtualItems() ?? [];\n const colItems = colV?.getVirtualItems() ?? [];\n const cols = Math.max(1, this.matrixColumns);\n const total = this._filteredItems.length;\n\n return html`\n <div\n class=\"detail__selection-track\"\n style=\"width: ${colTotal}px; height: ${rowTotal}px; position: relative;\"\n >\n ${rowItems.flatMap(rvi =>\n colItems.map(cvi => {\n const idx = rvi.index * cols + cvi.index;\n if (idx >= total) return null;\n const item = this._filteredItems[idx];\n if (item === undefined) return null;\n const positionStyle = `position: absolute; top: ${rvi.start}px; left: ${cvi.start}px; width: ${cvi.size}px; height: ${rvi.size}px;`;\n return this._renderItemTooltip(item, {\n positionStyle,\n extraClasses: 'detail__selection-tooltip--virtual',\n });\n })\n )}\n </div>\n `;\n }\n\n private _renderVirtualGrid(\n laneHeightPx: number,\n _columnWidthPx: number,\n isVertical: boolean\n ): TemplateResult {\n const v = this._virtCtrl?.getVirtualizer();\n const totalSize = v?.getTotalSize() ?? 0;\n const virtualItems = v?.getVirtualItems() ?? [];\n const lanes = Math.max(1, isVertical ? this.gridColumns : this.gridRows);\n\n if (this._isInfiniteMode && virtualItems.length > 0) {\n const first = virtualItems[0].index;\n const last = virtualItems[virtualItems.length - 1].index;\n this._scheduleFetchForRange(first, last);\n }\n\n const trackStyle = isVertical\n ? `width: 100%; height: ${totalSize}px; position: relative;`\n : `width: ${totalSize}px; height: 100%; position: relative;`;\n\n return html`\n <div class=\"detail__selection-track\" style=${trackStyle}>\n ${virtualItems.map(vi => {\n const laneIdx = vi.lane ?? 0;\n const positionStyle = isVertical\n ? `position: absolute; top: ${vi.start}px; left: calc(${laneIdx} * (100% / ${lanes})); width: calc(100% / ${lanes}); height: ${vi.size}px;`\n : `position: absolute; top: ${laneIdx * laneHeightPx}px; left: ${vi.start}px; width: ${vi.size}px; height: ${laneHeightPx}px;`;\n const item = this._getItemAt(vi.index);\n if (item === undefined) {\n return this._renderPlaceholder(positionStyle);\n }\n return this._renderItemTooltip(item, {\n positionStyle,\n extraClasses: 'detail__selection-tooltip--virtual',\n });\n })}\n </div>\n `;\n }\n\n private _renderPlaceholder(positionStyle: string): TemplateResult {\n return html`\n <div class=\"detail__selection-placeholder\" style=${positionStyle} part=\"item-placeholder\">\n <div class=\"detail__selection-placeholder-bar\"></div>\n <span class=\"detail__selection-placeholder-label\">${this.placeholderLabel}</span>\n </div>\n `;\n }\n\n render(): TemplateResult {\n const isSelection = this.variant === 'selection';\n return html`\n <details\n part=\"base\"\n ?open=${this._detailOpen}\n class=${classMap({\n 'detail': true,\n 'detail--open': this.open,\n 'detail--disabled': this.disabled,\n 'detail--selection': isSelection,\n })}\n >\n <summary\n part=\"header\"\n id=\"header\"\n class=${classMap({\n 'detail__header': true,\n 'detail__header--icon-left': this.expandIconPlacement === 'left',\n })}\n aria-label=${this._summaryLabel || nothing}\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this._handleSummaryClick}\n @keydown=${this._handleSummaryKeyDown}\n >\n <slot name=\"label\" part=\"label\" class=\"detail__label\">\n ${isSelection\n ? this._renderSelectionLabel()\n : html`\n <span part=\"label-text\" class=\"detail__heading-text\">${this.heading}</span>\n ${this.description\n ? html`<span part=\"description\" class=\"detail__description\">${this.description}</span>`\n : ''}\n `}\n </slot>\n\n <slot name=\"header-actions\" part=\"header-actions\" class=\"detail__header-actions\"></slot>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"detail__prefix\"></slot>\n\n <span part=\"summary-icon\" class=\"detail__summary-icon\" aria-hidden=\"true\">\n <slot name=\"expand-icon\">\n <nile-icon\n name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n library=\"system\"\n ></nile-icon>\n </slot>\n </span>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"detail__suffix\"></slot>\n\n </summary>\n\n <div part=\"content\" class=\"detail__body\">\n ${isSelection\n ? html`<div part=\"selection-content\" class=\"detail__selection-content\">${this._renderSelectionBody()}</div>`\n : ''}\n <slot\n id=\"content\"\n class=${classMap({\n 'detail__content': true,\n 'detail__content--empty': !this._hasSlottedContent,\n })}\n @slotchange=${this._handleDefaultSlotChange}\n ></slot>\n </div>\n </details>\n `;\n }\n}\n\nexport default NileDetail;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-detail': NileDetail;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-detail.js","sourceRoot":"","sources":["../../../src/nile-detail/nile-detail.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { styles } from './nile-detail.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport {\n animateShow,\n animateHide,\n showDetail,\n hideDetail,\n handleSummaryClick,\n handleSummaryKeyDown,\n} from './nile-detail.utils';\nimport '../nile-checkbox/index';\nimport '../nile-input/index';\nimport '../nile-link/index';\nimport '../nile-icon/index';\nimport '../nile-lite-tooltip/index';\nimport { VirtualizerController } from '@tanstack/lit-virtual';\nimport type { CSSResultGroup } from 'lit';\n\nexport type NileDetailVariant = 'default' | 'selection' | 'light' | 'select-light';\n\nexport interface NileDetailSelectionItem {\n value: string;\n label?: string;\n description?: string;\n prefix?: string;\n suffix?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport interface NileDetailRenderItemConfig {\n getDisplayText: (item: any) => string;\n getValue?: (item: any) => string;\n getSearchText?: (item: any) => string;\n getDescription?: (item: any) => string;\n getPrefix?: (item: any) => string;\n getSuffix?: (item: any) => string;\n getDisabled?: (item: any) => boolean;\n getClassName?: (item: any) => string;\n}\n\ntype SelectionItem = string | NileDetailSelectionItem | Record<string, any>;\n\nconst IS_BROWSER = typeof window !== 'undefined';\n\nexport interface NileDetailSelectionConfig {\n // Identity\n variant?: NileDetailVariant;\n heading?: string;\n description?: string;\n itemsLabel?: string;\n\n // Items / selection\n items?: SelectionItem[];\n selected?: string[];\n renderItemConfig?: NileDetailRenderItemConfig;\n allowHtmlLabel?: boolean;\n\n // Layout\n layout?: {\n orientation?: 'horizontal' | 'vertical' | 'both';\n gridRows?: number;\n gridColumns?: number;\n matrixColumns?: number;\n minColumnWidth?: string;\n laneHeight?: number;\n maxHeight?: string;\n expandIconPlacement?: 'left' | 'right';\n };\n\n // Search\n search?: {\n placeholder?: string;\n disableLocal?: boolean;\n };\n\n // Virtualization\n virtualization?: {\n enabled?: boolean;\n threshold?: number;\n overscan?: number;\n };\n\n // Pagination / infinite scroll\n pagination?: {\n totalCount?: number;\n pageSize?: number;\n fetchPage?: (offset: number, limit: number) => Promise<SelectionItem[]>;\n placeholderLabel?: string;\n };\n\n // Action labels\n labels?: {\n restore?: string;\n clear?: string;\n selectedOnly?: string;\n showAll?: string;\n };\n\n showSelectedToggle?: boolean;\n\n // Inherited / passthrough\n open?: boolean;\n disabled?: boolean;\n}\n\n@customElement('nile-detail')\nexport class NileDetail extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n @query('details') detail: HTMLDetailsElement;\n @query('summary') header: HTMLElement;\n @query('.detail__body') body: HTMLElement;\n\n @property({ attribute: true, type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: true, type: String, reflect: true }) heading = '';\n\n @property({ attribute: true, type: String, reflect: true }) description = '';\n\n @property({ attribute: true, reflect: true }) expandIconPlacement: 'left' | 'right' = 'right';\n\n @property({ attribute: true, type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: true, type: String, reflect: true }) variant: NileDetailVariant = 'default';\n\n @property({ attribute: false, type: Array }) items: SelectionItem[] = [];\n\n @property({ attribute: false, type: Array }) selected: string[] = [];\n\n @property({ attribute: false }) renderItemConfig?: NileDetailRenderItemConfig;\n\n @property({ attribute: 'allow-html-label', type: Boolean }) allowHtmlLabel = false;\n\n @property({ attribute: 'disable-local-search', type: Boolean }) disableLocalSearch = false;\n\n @property({ attribute: 'total-count', type: Number }) totalCount?: number;\n\n @property({ attribute: 'page-size', type: Number }) pageSize = 200;\n\n @property({ attribute: false }) fetchPage?: (offset: number, limit: number) => Promise<SelectionItem[]>;\n\n @property({ attribute: 'placeholder-label', type: String }) placeholderLabel = 'Loading…';\n\n @property({ attribute: false }) config?: NileDetailSelectionConfig;\n\n @property({ attribute: 'search-placeholder', type: String }) searchPlaceholder = 'Search...';\n\n @property({ attribute: 'items-label', type: String }) itemsLabel = 'attributes';\n\n @property({ attribute: 'restore-label', type: String }) restoreLabel = 'Restore';\n\n @property({ attribute: 'clear-label', type: String }) clearLabel = 'Clear';\n\n @property({ attribute: 'grid-rows', type: Number }) gridRows = 6;\n\n @property({ attribute: 'grid-columns', type: Number }) gridColumns = 3;\n\n @property({ attribute: 'min-column-width', type: String }) minColumnWidth = '220px';\n\n @property({ attribute: 'lane-height', type: Number }) laneHeight = 32;\n\n @property({ attribute: true, type: String, reflect: true }) orientation: 'horizontal' | 'vertical' | 'both' = 'horizontal';\n\n @property({ attribute: 'max-height', type: String }) maxHeight = '320px';\n\n @property({ attribute: 'matrix-columns', type: Number }) matrixColumns = 20;\n\n @property({ attribute: true, type: Boolean }) virtualize = false;\n\n @property({ attribute: 'virtualize-threshold', type: Number }) virtualizeThreshold = 60;\n\n @property({ attribute: 'overscan', type: Number }) overscan = 4;\n\n @state() private _detailOpen = false;\n\n @state() private _hasSlottedContent = false;\n\n @state() private _searchTerm = '';\n\n @state() private _selectedSet: Set<string> = new Set();\n\n @state() private _showSelectedOnly = false;\n\n @property({ attribute: 'show-selected-toggle', type: Boolean, reflect: true }) showSelectedToggle = false;\n\n @property({ attribute: 'selected-only-label', type: String }) selectedOnlyLabel = 'Selected';\n\n @property({ attribute: 'show-all-label', type: String }) showAllLabel = 'Show all';\n\n private _restoreDefaults: string[] | null = null;\n\n private _gridResizeObserver: ResizeObserver | null = null;\n\n private _virtCtrl: VirtualizerController<HTMLElement, HTMLElement> | null = null;\n\n private _rowVirtCtrl: VirtualizerController<HTMLElement, HTMLElement> | null = null;\n\n private _colVirtCtrl: VirtualizerController<HTMLElement, HTMLElement> | null = null;\n\n private _pageCache: any = new Map();\n\n private _pendingPages: any = new Set();\n\n /** True for any variant that renders the selection UI/behavior. */\n private get _isSelectionVariant(): boolean {\n return this.variant === 'selection' || this.variant === 'select-light';\n }\n\n /** True for any variant that applies the light styling. */\n private get _isLightVariant(): boolean {\n return this.variant === 'light' || this.variant === 'select-light';\n }\n\n private get _isInfiniteMode(): boolean {\n return (\n this._isSelectionVariant &&\n typeof this.fetchPage === 'function' &&\n typeof this.totalCount === 'number' &&\n this.orientation !== 'both'\n );\n }\n\n private _effectiveTotalCount(): number {\n if (this._isInfiniteMode) return this.totalCount ?? 0;\n return this._filteredItems.length;\n }\n\n private _getItemAt(index: number): SelectionItem | undefined {\n if (!this._isInfiniteMode) return this._filteredItems[index];\n const pageSize = Math.max(1, this.pageSize);\n const pageIndex = Math.floor(index / pageSize);\n const page = this._pageCache.get(pageIndex);\n if (!page) return undefined;\n return page[index - pageIndex * pageSize];\n }\n\n private _scheduleFetchForRange(start: number, end: number) {\n if (!this._isInfiniteMode || !this.fetchPage) return;\n const pageSize = Math.max(1, this.pageSize);\n const total = this.totalCount ?? 0;\n if (total <= 0) return;\n\n const firstPage = Math.floor(start / pageSize);\n const lastPage = Math.floor(Math.min(end, total - 1) / pageSize);\n for (let p = firstPage; p <= lastPage; p++) {\n if (this._pageCache.has(p) || this._pendingPages.has(p)) continue;\n this._loadPage(p);\n }\n }\n\n private async _loadPage(pageIndex: number) {\n if (!this.fetchPage) return;\n const pageSize = Math.max(1, this.pageSize);\n const offset = pageIndex * pageSize;\n const total = this.totalCount ?? 0;\n const limit = Math.min(pageSize, Math.max(0, total - offset));\n if (limit <= 0) return;\n\n this._pendingPages.add(pageIndex);\n try {\n const rows = await this.fetchPage(offset, limit);\n this._pageCache.set(pageIndex, Array.isArray(rows) ? rows : []);\n this.dispatchEvent(\n new CustomEvent('nile-page-load', {\n detail: { pageIndex, offset, limit, rows: this._pageCache.get(pageIndex) },\n bubbles: true,\n composed: true,\n })\n );\n } catch (err) {\n this.dispatchEvent(\n new CustomEvent('nile-page-error', {\n detail: { pageIndex, offset, limit, error: err },\n bubbles: true,\n composed: true,\n })\n );\n } finally {\n this._pendingPages.delete(pageIndex);\n this.requestUpdate();\n }\n }\n\n /** Public: clear the page cache (use after a query change to refetch). */\n resetPages() {\n this._pageCache = new Map();\n this._pendingPages = new Set();\n this.requestUpdate();\n }\n\n private get _isVirtualized(): boolean {\n if (!IS_BROWSER) return false;\n if (this._isInfiniteMode) return true;\n return this._isSelectionVariant\n && (this.virtualize || this.items.length > this.virtualizeThreshold);\n }\n\n private get _columnWidthPx(): number {\n const parsed = parseInt(this.minColumnWidth, 10);\n return Number.isFinite(parsed) && parsed > 0 ? parsed : 220;\n }\n\n firstUpdated() {\n this._detailOpen = this.open;\n this.body.hidden = !this.open;\n this.body.style.height = this.open ? 'auto' : '0';\n this._syncSelectedFromProperty();\n if (this._restoreDefaults === null) {\n this._restoreDefaults = [...this._selectedSet];\n }\n this._setupGridResizeObserver();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._gridResizeObserver?.disconnect();\n this._gridResizeObserver = null;\n }\n\n updated(_changed: Map<string, unknown>) {\n if (this._isSelectionVariant) {\n this._setupGridResizeObserver();\n this._syncVirtualizer();\n this._scheduleTooltipOverflowCheck();\n }\n }\n\n private _syncVirtualizer() {\n if (!IS_BROWSER) return;\n if (!this._isVirtualized) {\n this._virtCtrl = null;\n this._rowVirtCtrl = null;\n this._colVirtCtrl = null;\n return;\n }\n const grid = this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null;\n if (!grid) return;\n\n if (this.orientation === 'both') {\n this._virtCtrl = null;\n this._syncBothVirtualizers();\n return;\n }\n\n // Reset 2-axis controllers if we switched away from 'both'.\n this._rowVirtCtrl = null;\n this._colVirtCtrl = null;\n\n const count = this._effectiveTotalCount();\n const isVertical = this.orientation === 'vertical';\n const lanes = Math.max(1, isVertical ? this.gridColumns : this.gridRows);\n const itemSize = isVertical ? this.laneHeight : this._columnWidthPx;\n\n if (!this._virtCtrl) {\n this._virtCtrl = new VirtualizerController<HTMLElement, HTMLElement>(this, {\n count,\n getScrollElement: () =>\n this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null,\n estimateSize: () => itemSize,\n horizontal: !isVertical,\n lanes,\n overscan: this.overscan,\n });\n return;\n }\n\n const v = this._virtCtrl.getVirtualizer();\n const prev = v.options;\n const orientationChanged = !!prev.horizontal !== !isVertical;\n if (\n prev.count !== count ||\n prev.lanes !== lanes ||\n prev.overscan !== this.overscan ||\n orientationChanged\n ) {\n v.setOptions({\n ...prev,\n count,\n lanes,\n overscan: this.overscan,\n horizontal: !isVertical,\n estimateSize: () => itemSize,\n });\n v.measure();\n }\n }\n\n private _syncBothVirtualizers() {\n const totalItems = this._filteredItems.length;\n const cols = Math.max(1, this.matrixColumns);\n const rows = Math.max(1, Math.ceil(totalItems / cols));\n const columnWidth = this._columnWidthPx;\n const rowHeight = this.laneHeight;\n const getScrollEl = () =>\n this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null;\n\n if (!this._rowVirtCtrl) {\n this._rowVirtCtrl = new VirtualizerController<HTMLElement, HTMLElement>(this, {\n count: rows,\n getScrollElement: getScrollEl,\n estimateSize: () => rowHeight,\n horizontal: false,\n overscan: this.overscan,\n });\n } else {\n const rv = this._rowVirtCtrl.getVirtualizer();\n const prev = rv.options;\n if (prev.count !== rows || prev.overscan !== this.overscan) {\n rv.setOptions({\n ...prev,\n count: rows,\n overscan: this.overscan,\n estimateSize: () => rowHeight,\n });\n rv.measure();\n }\n }\n\n if (!this._colVirtCtrl) {\n this._colVirtCtrl = new VirtualizerController<HTMLElement, HTMLElement>(this, {\n count: cols,\n getScrollElement: getScrollEl,\n estimateSize: () => columnWidth,\n horizontal: true,\n overscan: this.overscan,\n });\n } else {\n const cv = this._colVirtCtrl.getVirtualizer();\n const prev = cv.options;\n if (prev.count !== cols || prev.overscan !== this.overscan) {\n cv.setOptions({\n ...prev,\n count: cols,\n overscan: this.overscan,\n estimateSize: () => columnWidth,\n });\n cv.measure();\n }\n }\n }\n\n private _setupGridResizeObserver() {\n if (!this._isSelectionVariant) return;\n if (typeof ResizeObserver === 'undefined') return;\n const grid = this.shadowRoot?.querySelector('.detail__selection-grid') as HTMLElement | null;\n if (!grid) return;\n if (this._gridResizeObserver) return;\n this._gridResizeObserver = new ResizeObserver(() => this._scheduleTooltipOverflowCheck());\n this._gridResizeObserver.observe(grid);\n }\n\n private _scheduleTooltipOverflowCheck() {\n if (typeof requestAnimationFrame === 'undefined') return;\n requestAnimationFrame(() => this._updateTooltipOverflowStates());\n }\n\n private async _updateTooltipOverflowStates() {\n const tooltips = this.shadowRoot?.querySelectorAll(\n '.detail__selection-tooltip'\n ) as NodeListOf<HTMLElement> | undefined;\n if (!tooltips) return;\n for (const tip of tooltips) {\n const cb = tip.querySelector('nile-checkbox') as HTMLElement & { updateComplete?: Promise<unknown> } | null;\n if (!cb) continue;\n if (cb.updateComplete) await cb.updateComplete;\n const labelEl = cb.shadowRoot?.querySelector('[part=\"label\"]') as HTMLElement | null;\n const overflowing = !!labelEl && labelEl.scrollWidth > labelEl.clientWidth + 1;\n if (overflowing) tip.removeAttribute('disabled');\n else tip.setAttribute('disabled', '');\n }\n }\n\n @watch('selected', { waitUntilFirstUpdate: false })\n _onSelectedPropertyChange() {\n this._syncSelectedFromProperty();\n }\n\n @watch('config', { waitUntilFirstUpdate: false })\n _onConfigChange() {\n this._applyConfig();\n }\n\n private _applyConfig() {\n const c = this.config;\n if (!c) return;\n\n if (c.variant !== undefined) this.variant = c.variant;\n if (c.heading !== undefined) this.heading = c.heading;\n if (c.description !== undefined) this.description = c.description;\n if (c.itemsLabel !== undefined) this.itemsLabel = c.itemsLabel;\n if (c.open !== undefined) this.open = c.open;\n if (c.disabled !== undefined) this.disabled = c.disabled;\n\n if (c.items !== undefined) this.items = c.items;\n if (c.selected !== undefined) this.selected = c.selected;\n if (c.renderItemConfig !== undefined) this.renderItemConfig = c.renderItemConfig;\n if (c.allowHtmlLabel !== undefined) this.allowHtmlLabel = c.allowHtmlLabel;\n\n if (c.layout) {\n const l = c.layout;\n if (l.orientation !== undefined) this.orientation = l.orientation;\n if (l.gridRows !== undefined) this.gridRows = l.gridRows;\n if (l.gridColumns !== undefined) this.gridColumns = l.gridColumns;\n if (l.matrixColumns !== undefined) this.matrixColumns = l.matrixColumns;\n if (l.minColumnWidth !== undefined) this.minColumnWidth = l.minColumnWidth;\n if (l.laneHeight !== undefined) this.laneHeight = l.laneHeight;\n if (l.maxHeight !== undefined) this.maxHeight = l.maxHeight;\n if (l.expandIconPlacement !== undefined) this.expandIconPlacement = l.expandIconPlacement;\n }\n\n if (c.search) {\n if (c.search.placeholder !== undefined) this.searchPlaceholder = c.search.placeholder;\n if (c.search.disableLocal !== undefined) this.disableLocalSearch = c.search.disableLocal;\n }\n\n if (c.virtualization) {\n if (c.virtualization.enabled !== undefined) this.virtualize = c.virtualization.enabled;\n if (c.virtualization.threshold !== undefined) this.virtualizeThreshold = c.virtualization.threshold;\n if (c.virtualization.overscan !== undefined) this.overscan = c.virtualization.overscan;\n }\n\n if (c.pagination) {\n if (c.pagination.totalCount !== undefined) this.totalCount = c.pagination.totalCount;\n if (c.pagination.pageSize !== undefined) this.pageSize = c.pagination.pageSize;\n if (c.pagination.fetchPage !== undefined) this.fetchPage = c.pagination.fetchPage;\n if (c.pagination.placeholderLabel !== undefined) this.placeholderLabel = c.pagination.placeholderLabel;\n }\n\n if (c.labels) {\n if (c.labels.restore !== undefined) this.restoreLabel = c.labels.restore;\n if (c.labels.clear !== undefined) this.clearLabel = c.labels.clear;\n if (c.labels.selectedOnly !== undefined) this.selectedOnlyLabel = c.labels.selectedOnly;\n if (c.labels.showAll !== undefined) this.showAllLabel = c.labels.showAll;\n }\n\n if (c.showSelectedToggle !== undefined) this.showSelectedToggle = c.showSelectedToggle;\n }\n\n private _syncSelectedFromProperty() {\n this._selectedSet = new Set(this.selected || []);\n }\n\n private _getItemValue(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getValue) return String(rc.getValue(item));\n if (typeof item === 'string') return item;\n return String((item as NileDetailSelectionItem).value ?? '');\n }\n\n private _getItemLabel(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getDisplayText) return rc.getDisplayText(item);\n if (typeof item === 'string') return item;\n return (item as NileDetailSelectionItem).label ?? this._getItemValue(item);\n }\n\n private _getItemSearchText(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getSearchText) return rc.getSearchText(item);\n return this._getItemLabel(item);\n }\n\n private _getItemDescription(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getDescription) return rc.getDescription(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).description ?? '';\n }\n\n private _getItemPrefix(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getPrefix) return rc.getPrefix(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).prefix ?? '';\n }\n\n private _getItemSuffix(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getSuffix) return rc.getSuffix(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).suffix ?? '';\n }\n\n private _getItemDisabled(item: SelectionItem): boolean {\n const rc = this.renderItemConfig;\n if (rc?.getDisabled) return !!rc.getDisabled(item);\n if (typeof item === 'string') return false;\n return !!(item as NileDetailSelectionItem).disabled;\n }\n\n private _getItemClassName(item: SelectionItem): string {\n const rc = this.renderItemConfig;\n if (rc?.getClassName) return rc.getClassName(item) ?? '';\n if (typeof item === 'string') return '';\n return (item as NileDetailSelectionItem).className ?? '';\n }\n\n private get _filteredItems(): SelectionItem[] {\n let source: SelectionItem[] = this.items;\n\n if (this._showSelectedOnly) {\n source = source.filter(item => this._selectedSet.has(this._getItemValue(item)));\n }\n\n if (this.disableLocalSearch) return source;\n const q = this._searchTerm.trim().toLowerCase();\n if (!q) return source;\n return source.filter(item =>\n this._getItemSearchText(item).toLowerCase().includes(q)\n );\n }\n\n private _onToggleSelectedOnly(event: Event) {\n event.preventDefault();\n const next = !this._showSelectedOnly;\n if (next && this._selectedSet.size === 0) return;\n this._showSelectedOnly = next;\n }\n\n private _selectableValues(): string[] {\n const source: SelectionItem[] = this._isInfiniteMode\n ? (Array.from(this._pageCache.values()).flat() as SelectionItem[])\n : this.items;\n return source\n .filter(i => !this._getItemDisabled(i))\n .map(i => this._getItemValue(i));\n }\n\n private get _allChecked(): boolean {\n const selectable = this._selectableValues();\n if (selectable.length === 0) return false;\n return selectable.every(v => this._selectedSet.has(v));\n }\n\n private get _indeterminate(): boolean {\n const selectable = this._selectableValues();\n const sel = selectable.filter(v => this._selectedSet.has(v)).length;\n return sel > 0 && sel < selectable.length;\n }\n\n private get _countLabel(): string {\n const total = this._isInfiniteMode ? (this.totalCount ?? 0) : this.items.length;\n return `${this._selectedSet.size} of ${total} ${this.itemsLabel} selected`;\n }\n\n private _emitSelectionChange() {\n this.selected = [...this._selectedSet];\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { selected: [...this._selectedSet] },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _onItemChange(value: string, disabled: boolean, event: Event) {\n if (disabled) {\n event.preventDefault();\n return;\n }\n const target = event.target as HTMLInputElement;\n const next = new Set(this._selectedSet);\n if (target.checked) next.add(value);\n else next.delete(value);\n this._selectedSet = next;\n this._emitSelectionChange();\n }\n\n private _onSelectAllChange(event: Event) {\n const target = event.target as HTMLInputElement;\n const selectable = this._selectableValues();\n const next = new Set(this._selectedSet);\n if (target.checked) selectable.forEach(v => next.add(v));\n else selectable.forEach(v => next.delete(v));\n this._selectedSet = next;\n this._emitSelectionChange();\n }\n\n private _emitSearch(value: string) {\n this.dispatchEvent(\n new CustomEvent('nile-search', {\n detail: { value },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _onSearchInput(event: Event) {\n const target = event.target as HTMLInputElement;\n const value = target.value ?? '';\n this._searchTerm = value;\n if (this.disableLocalSearch) this._emitSearch(value);\n }\n\n private _onSearchClear() {\n this._searchTerm = '';\n if (this.disableLocalSearch) this._emitSearch('');\n }\n\n private _onRestore(event: Event) {\n event.preventDefault();\n const source = this._restoreDefaults ?? this._selectableValues();\n this._selectedSet = new Set(source);\n this._emitSelectionChange();\n }\n\n private _onClear(event: Event) {\n event.preventDefault();\n this._selectedSet = new Set();\n this._showSelectedOnly = false;\n this._emitSelectionChange();\n }\n\n private _handleDefaultSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n this._hasSlottedContent = nodes.some(node => {\n if (node.nodeType === Node.ELEMENT_NODE) return true;\n if (node.nodeType === Node.TEXT_NODE) return !!(node.textContent && node.textContent.trim());\n return false;\n });\n }\n\n private _stopHeaderToggle(event: Event) {\n event.stopPropagation();\n }\n\n private _handleSummaryClick(event: Event) {\n event.preventDefault();\n handleSummaryClick(this);\n }\n\n private _handleSummaryKeyDown(event: KeyboardEvent) {\n handleSummaryKeyDown(event, this);\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n this._detailOpen = true;\n await animateShow(this);\n } else {\n await animateHide(this);\n this._detailOpen = false;\n }\n }\n\n async show() {\n return showDetail(this);\n }\n\n async hide() {\n return hideDetail(this);\n }\n\n private get _summaryLabel(): string {\n return [this.heading, this.description].filter(Boolean).join(', ');\n }\n\n private _renderSelectionLabel(): TemplateResult {\n return html`\n <div part=\"selection-label\" class=\"detail__selection-label\">\n <nile-checkbox\n part=\"select-all\"\n class=\"detail__select-all\"\n ?checked=${this._allChecked}\n ?indeterminate=${this._indeterminate}\n aria-label=${`Select all ${this.heading || this.itemsLabel}`}\n @click=${this._stopHeaderToggle}\n @nile-change=${this._onSelectAllChange}\n ></nile-checkbox>\n <div class=\"detail__selection-title\">\n <span part=\"label-text\" class=\"detail__heading-text\">${this.heading}</span>\n <span part=\"selection-count\" class=\"detail__selection-count\">${this._countLabel}</span>\n </div>\n </div>\n `;\n }\n\n private _renderSelectionBody(): TemplateResult {\n const virtualized = this._isVirtualized;\n const isVertical = this.orientation === 'vertical';\n const isBoth = this.orientation === 'both';\n const laneHeightPx = this.laneHeight;\n const columnWidth = this._columnWidthPx;\n\n let gridStyle = '';\n if (virtualized) {\n if (isBoth) {\n gridStyle = `max-height: ${this.maxHeight}; height: ${this.maxHeight};`;\n } else if (isVertical) {\n gridStyle = `max-height: ${this.maxHeight}; height: ${this.maxHeight};`;\n } else {\n const lanes = Math.max(1, this.gridRows);\n gridStyle = `height: ${lanes * laneHeightPx}px;`;\n }\n } else if (isVertical) {\n const cols = Math.max(1, this.gridColumns);\n gridStyle = `grid-template-columns: repeat(${cols}, minmax(0, 1fr)); grid-auto-flow: row; max-height: ${this.maxHeight}; overflow-y: auto; overflow-x: hidden;`;\n } else {\n const lanes = Math.max(1, this.gridRows);\n gridStyle = `grid-template-rows: repeat(${lanes}, auto); grid-auto-columns: minmax(${this.minColumnWidth}, 1fr);`;\n }\n\n return html`\n <div part=\"selection-toolbar\" class=\"detail__selection-toolbar\">\n <slot name=\"tooblar-actions-prefix\"></slot>\n <slot name=\"toolbar-search\" class=\"detail__selection-search-slot\">\n <nile-input\n part=\"search\"\n class=\"detail__selection-search\"\n placeholder=${this.searchPlaceholder}\n clearable\n .value=${this._searchTerm}\n @nile-input=${this._onSearchInput}\n @nile-clear=${this._onSearchClear}\n >\n <nile-icon slot=\"prefix\" name=\"search\" library=\"system\"></nile-icon>\n </nile-input>\n </slot>\n <slot name=\"toolbar-actions\" class=\"detail__selection-actions\">\n ${this.showSelectedToggle\n ? html`\n <nile-link\n href=\"#\"\n variant=\"subtle\"\n class=\"detail__selected-toggle\"\n @click=${this._onToggleSelectedOnly}\n >\n <nile-icon slot=\"prefix\" name=\"filter\" library=\"system\"></nile-icon>\n ${this._showSelectedOnly ? this.showAllLabel : this.selectedOnlyLabel}\n </nile-link>\n `\n : nothing}\n <nile-link href=\"#\" variant=\"subtle\" @click=${this._onRestore}>${this.restoreLabel}</nile-link>\n <nile-link href=\"#\" variant=\"subtle\" @click=${this._onClear}>${this.clearLabel}</nile-link>\n </slot>\n <slot name=\"tooblar-actions-suffix\"></slot>\n </div>\n <div\n part=\"selection-grid\"\n class=${classMap({\n 'detail__selection-grid': true,\n 'detail__selection-grid--virtual': virtualized,\n 'detail__selection-grid--vertical': isVertical,\n 'detail__selection-grid--both': isBoth,\n })}\n style=${gridStyle}\n >\n ${virtualized\n ? (isBoth\n ? this._renderBothVirtualGrid(laneHeightPx, columnWidth)\n : this._renderVirtualGrid(laneHeightPx, columnWidth, isVertical))\n : this._renderStaticGrid()}\n </div>\n `;\n }\n\n private _renderItemContent(item: SelectionItem): TemplateResult {\n const label = this._getItemLabel(item);\n const description = this._getItemDescription(item);\n const prefix = this._getItemPrefix(item);\n const suffix = this._getItemSuffix(item);\n const allowHtml = this.allowHtmlLabel;\n return html`\n ${prefix\n ? html`<span class=\"detail__selection-prefix\" part=\"item-prefix\">${allowHtml ? unsafeHTML(prefix) : prefix}</span>`\n : ''}\n <span class=\"detail__selection-text\" part=\"item-text\">\n <span class=\"detail__selection-item-label\" part=\"item-label\">${allowHtml ? unsafeHTML(label) : label}</span>\n ${description\n ? html`<span class=\"detail__selection-desc\" part=\"item-description\">${allowHtml ? unsafeHTML(description) : description}</span>`\n : ''}\n </span>\n ${suffix\n ? html`<span class=\"detail__selection-suffix\" part=\"item-suffix\">${allowHtml ? unsafeHTML(suffix) : suffix}</span>`\n : ''}\n `;\n }\n\n private _renderItemTooltip(item: SelectionItem, opts: { positionStyle?: string; extraClasses?: string } = {}): TemplateResult {\n const value = this._getItemValue(item);\n const label = this._getItemLabel(item);\n const description = this._getItemDescription(item);\n const isDisabled = this._getItemDisabled(item);\n const className = this._getItemClassName(item);\n const tooltipContent = description ? `${label} — ${description}` : label;\n\n const tooltipClass = `detail__selection-tooltip${opts.extraClasses ? ' ' + opts.extraClasses : ''}`;\n const checkboxClass = classMap({\n 'detail__selection-checkbox': true,\n 'detail__selection-checkbox--disabled': isDisabled,\n [className]: !!className,\n });\n\n return html`\n <nile-lite-tooltip\n class=${tooltipClass}\n content=${tooltipContent}\n size=\"small\"\n disabled\n style=${opts.positionStyle ?? nothing as any}\n >\n <nile-checkbox\n class=${checkboxClass}\n ?checked=${this._selectedSet.has(value)}\n ?disabled=${isDisabled}\n @nile-change=${(e: Event) => this._onItemChange(value, isDisabled, e)}\n >${this._renderItemContent(item)}</nile-checkbox>\n </nile-lite-tooltip>\n `;\n }\n\n private _renderStaticGrid(): TemplateResult {\n return html`${this._filteredItems.map(item => this._renderItemTooltip(item))}`;\n }\n\n private _renderBothVirtualGrid(_laneHeightPx: number, _columnWidthPx: number): TemplateResult {\n const rowV = this._rowVirtCtrl?.getVirtualizer();\n const colV = this._colVirtCtrl?.getVirtualizer();\n const rowTotal = rowV?.getTotalSize() ?? 0;\n const colTotal = colV?.getTotalSize() ?? 0;\n const rowItems = rowV?.getVirtualItems() ?? [];\n const colItems = colV?.getVirtualItems() ?? [];\n const cols = Math.max(1, this.matrixColumns);\n const total = this._filteredItems.length;\n\n return html`\n <div\n class=\"detail__selection-track\"\n style=\"width: ${colTotal}px; height: ${rowTotal}px; position: relative;\"\n >\n ${rowItems.flatMap(rvi =>\n colItems.map(cvi => {\n const idx = rvi.index * cols + cvi.index;\n if (idx >= total) return null;\n const item = this._filteredItems[idx];\n if (item === undefined) return null;\n const positionStyle = `position: absolute; top: ${rvi.start}px; left: ${cvi.start}px; width: ${cvi.size}px; height: ${rvi.size}px;`;\n return this._renderItemTooltip(item, {\n positionStyle,\n extraClasses: 'detail__selection-tooltip--virtual',\n });\n })\n )}\n </div>\n `;\n }\n\n private _renderVirtualGrid(\n laneHeightPx: number,\n _columnWidthPx: number,\n isVertical: boolean\n ): TemplateResult {\n const v = this._virtCtrl?.getVirtualizer();\n const totalSize = v?.getTotalSize() ?? 0;\n const virtualItems = v?.getVirtualItems() ?? [];\n const lanes = Math.max(1, isVertical ? this.gridColumns : this.gridRows);\n\n if (this._isInfiniteMode && virtualItems.length > 0) {\n const first = virtualItems[0].index;\n const last = virtualItems[virtualItems.length - 1].index;\n this._scheduleFetchForRange(first, last);\n }\n\n const trackStyle = isVertical\n ? `width: 100%; height: ${totalSize}px; position: relative;`\n : `width: ${totalSize}px; height: 100%; position: relative;`;\n\n return html`\n <div class=\"detail__selection-track\" style=${trackStyle}>\n ${virtualItems.map(vi => {\n const laneIdx = vi.lane ?? 0;\n const positionStyle = isVertical\n ? `position: absolute; top: ${vi.start}px; left: calc(${laneIdx} * (100% / ${lanes})); width: calc(100% / ${lanes}); height: ${vi.size}px;`\n : `position: absolute; top: ${laneIdx * laneHeightPx}px; left: ${vi.start}px; width: ${vi.size}px; height: ${laneHeightPx}px;`;\n const item = this._getItemAt(vi.index);\n if (item === undefined) {\n return this._renderPlaceholder(positionStyle);\n }\n return this._renderItemTooltip(item, {\n positionStyle,\n extraClasses: 'detail__selection-tooltip--virtual',\n });\n })}\n </div>\n `;\n }\n\n private _renderPlaceholder(positionStyle: string): TemplateResult {\n return html`\n <div class=\"detail__selection-placeholder\" style=${positionStyle} part=\"item-placeholder\">\n <div class=\"detail__selection-placeholder-bar\"></div>\n <span class=\"detail__selection-placeholder-label\">${this.placeholderLabel}</span>\n </div>\n `;\n }\n\n render(): TemplateResult {\n const isSelection = this._isSelectionVariant;\n return html`\n <details\n part=\"base\"\n ?open=${this._detailOpen}\n class=${classMap({\n 'detail': true,\n 'detail--open': this.open,\n 'detail--disabled': this.disabled,\n 'detail--selection': isSelection,\n 'detail--light': this._isLightVariant,\n })}\n >\n <summary\n part=\"header\"\n id=\"header\"\n class=${classMap({\n 'detail__header': true,\n 'detail__header--icon-left': this.expandIconPlacement === 'left',\n })}\n aria-label=${this._summaryLabel || nothing}\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this._handleSummaryClick}\n @keydown=${this._handleSummaryKeyDown}\n >\n <slot name=\"label\" part=\"label\" class=\"detail__label\">\n ${isSelection\n ? this._renderSelectionLabel()\n : html`\n <span part=\"label-text\" class=\"detail__heading-text\">${this.heading}</span>\n ${this.description\n ? html`<span part=\"description\" class=\"detail__description\">${this.description}</span>`\n : ''}\n `}\n </slot>\n\n <slot name=\"header-actions\" part=\"header-actions\" class=\"detail__header-actions\"></slot>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"detail__prefix\"></slot>\n\n <span part=\"summary-icon\" class=\"detail__summary-icon\" aria-hidden=\"true\">\n <slot name=\"expand-icon\">\n <nile-icon\n name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n library=\"system\"\n ></nile-icon>\n </slot>\n </span>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"detail__suffix\"></slot>\n\n </summary>\n\n <div part=\"content\" class=\"detail__body\">\n ${isSelection\n ? html`<div part=\"selection-content\" class=\"detail__selection-content\">${this._renderSelectionBody()}</div>`\n : ''}\n <slot\n id=\"content\"\n class=${classMap({\n 'detail__content': true,\n 'detail__content--empty': !this._hasSlottedContent,\n })}\n @slotchange=${this._handleDefaultSlotChange}\n ></slot>\n </div>\n </details>\n `;\n }\n}\n\nexport default NileDetail;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-detail': NileDetail;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { NileStatusLight } from './nile-status-light';
@@ -0,0 +1,2 @@
1
+ export { NileStatusLight } from './nile-status-light';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-status-light/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { NileStatusLight } from './nile-status-light';\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright Aquera Inc 2026
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export declare const styles: import("lit").CSSResult;
8
+ declare const _default: import("lit").CSSResult[];
9
+ export default _default;