@aquera/nile-elements 1.8.2 → 1.8.3
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.
- package/README.md +3 -0
- package/dist/index.js +76 -32
- package/dist/nile-detail/nile-detail.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.css.esm.js +37 -1
- package/dist/nile-detail/nile-detail.esm.js +17 -9
- package/dist/nile-detail/nile-detail.utils.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.utils.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.utils.esm.js +1 -1
- package/dist/src/nile-detail/nile-detail.css.js +37 -1
- package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
- package/dist/src/nile-detail/nile-detail.d.ts +15 -0
- package/dist/src/nile-detail/nile-detail.js +85 -4
- package/dist/src/nile-detail/nile-detail.js.map +1 -1
- package/dist/src/nile-detail/nile-detail.utils.d.ts +1 -0
- package/dist/src/nile-detail/nile-detail.utils.js +34 -4
- package/dist/src/nile-detail/nile-detail.utils.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-detail/nile-detail.css.ts +37 -1
- package/src/nile-detail/nile-detail.ts +87 -3
- package/src/nile-detail/nile-detail.utils.ts +34 -4
- package/vscode-html-custom-data.json +10 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-detail.cjs.js","sources":["../../../src/nile-detail/nile-detail.ts"],"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"],"names":["IS_BROWSER","window","_export","NileDetail","_","constructor","this","open","heading","description","expandIconPlacement","disabled","variant","items","selected","allowHtmlLabel","disableLocalSearch","pageSize","placeholderLabel","searchPlaceholder","itemsLabel","restoreLabel","clearLabel","gridRows","gridColumns","minColumnWidth","laneHeight","orientation","maxHeight","matrixColumns","virtualize","virtualizeThreshold","overscan","_detailOpen","_hasSlottedContent","_searchTerm","_selectedSet","Set","_showSelectedOnly","showSelectedToggle","selectedOnlyLabel","showAllLabel","_restoreDefaults","_gridResizeObserver","_virtCtrl","_rowVirtCtrl","_colVirtCtrl","_pageCache","Map","_pendingPages","_this","_inherits","_p","_createClass","key","get","_isSelectionVariant","_isLightVariant","fetchPage","totalCount","value","_effectiveTotalCount","_isInfiniteMode","_filteredItems","length","_getItemAt","index","Math","max","pageIndex","floor","page","_scheduleFetchForRange","start","end","_this$totalCount2","total","firstPage","lastPage","min","p","has","_loadPage","_loadPage2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","offset","limit","_context2","next","add","prev","rows","set","Array","isArray","dispatchEvent","CustomEvent","detail","bubbles","composed","t0","error","err","requestUpdate","finish","stop","resetPages","_isVirtualized","parsed","parseInt","Number","isFinite","firstUpdated","body","hidden","style","height","_syncSelectedFromProperty","_toConsumableArray","_setupGridResizeObserver","disconnectedCallback","super","disconnect","updated","_changed","_syncVirtualizer","_scheduleTooltipOverflowCheck","grid","shadowRoot","querySelector","_syncBothVirtualizers","count","isVertical","lanes","itemSize","_columnWidthPx","VirtualizerController","getScrollElement","estimateSize","horizontal","v","getVirtualizer","options","orientationChanged","setOptions","measure","_this3","totalItems","cols","ceil","columnWidth","rowHeight","getScrollEl","rv","cv","_objectSpread","ResizeObserver","observe","_this5","requestAnimationFrame","_updateTooltipOverflowStates","_updateTooltipOverflowStates2","_callee2","_this$shadowRoot3","i","_iterator","_step","_i4$shadowRoot","_s3","_i4","_n2","wrap","_callee2$","_context3","tooltips","querySelectorAll","_createForOfIteratorHelper","s","n","done","tip","cb","updateComplete","labelEl","scrollWidth","clientWidth","removeAttribute","setAttribute","t1","e","f","_onSelectedPropertyChange","_onConfigChange","_applyConfig","c","config","undefined","renderItemConfig","layout","l","search","placeholder","disableLocal","virtualization","enabled","threshold","pagination","labels","restore","clear","selectedOnly","showAll","_getItemValue","item","rc","getValue","String","_getItemLabel","getDisplayText","label","_getItemSearchText","getSearchText","_getItemDescription","getDescription","_s$getDescription","_getItemPrefix","getPrefix","_s$getPrefix","prefix","_getItemSuffix","_s$getSuffix","_i$suffix","getSuffix","suffix","_getItemDisabled","getDisabled","_getItemClassName","getClassName","_s$getClassName","className","_this6","source","filter","q","trim","toLowerCase","includes","_onToggleSelectedOnly","event","preventDefault","size","_selectableValues","from","values","flat","map","_allChecked","selectable","every","_this9","sel","_countLabel","_this$totalCount4","concat","_emitSelectionChange","_onItemChange","target","checked","delete","_onSelectAllChange","forEach","_emitSearch","_onSearchInput","_onSearchClear","_onRestore","_onClear","_handleDefaultSlotChange","nodes","assignedNodes","flatten","some","node","nodeType","Node","ELEMENT_NODE","TEXT_NODE","textContent","_stopHeaderToggle","stopPropagation","_handleSummaryClick","handleSummaryClick","_handleSummaryKeyDown","handleSummaryKeyDown","_handleOpenChange","_callee3","_callee3$","_context4","animateShow","animateHide","handleOpenChange","_callee4","_callee4$","_context5","abrupt","showDetail","show","_callee5","_callee5$","_context6","hideDetail","hide","Boolean","join","_renderSelectionLabel","html","_templateObject","_taggedTemplateLiteral","_indeterminate","_renderSelectionBody","virtualized","isBoth","laneHeightPx","gridStyle","_templateObject2","_templateObject3","nothing","classMap","_renderBothVirtualGrid","_renderVirtualGrid","_renderStaticGrid","_renderItemContent","allowHtml","_templateObject4","_templateObject5","unsafeHTML","_templateObject6","_templateObject7","_renderItemTooltip","opts","arguments","isDisabled","tooltipContent","tooltipClass","extraClasses","checkboxClass","_templateObject8","positionStyle","_this11","_templateObject9","_laneHeightPx","rowV","colV","rowTotal","getTotalSize","colTotal","rowItems","getVirtualItems","_o$getVirtualItems","colItems","_templateObject10","flatMap","rvi","cvi","idx","totalSize","_c$getTotalSize2","virtualItems","_c$getVirtualItems2","first","last","_templateObject11","vi","_s$lane","laneIdx","lane","_renderPlaceholder","_templateObject12","render","isSelection","_templateObject13","detail__header","_summaryLabel","_templateObject14","_templateObject15","_templateObject16","detail__content","NileElement","styles","__decorate","query","prototype","property","attribute","type","reflect","state","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nile-detail.cjs.js","sources":["../../../src/nile-detail/nile-detail.ts"],"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 getPreviewHeight,\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 // Preview state\n preview?: boolean;\n previewPercentage?: number;\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 /** When set, the closed state shows a preview of the body content instead of hiding it. */\n @property({ attribute: true, type: Boolean, reflect: true }) preview = false;\n\n /** Percentage (0–100) of the content height shown while previewing. */\n @property({ attribute: 'preview-percentage', type: Number, reflect: true }) previewPercentage = 30;\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 /** True when preview mode is on with a usable percentage. */\n private get _previewEnabled(): boolean {\n return this.preview && Math.min(100, Math.max(0, this.previewPercentage)) > 0;\n }\n\n /** True when the closed state should currently render the preview. */\n private get _isPreviewActive(): boolean {\n return this._previewEnabled && !this.open;\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 || this._isPreviewActive;\n this.body.hidden = !this.open && !this._isPreviewActive;\n this.body.style.height = this.open ? 'auto' : '0';\n if (this._isPreviewActive) {\n this._applyPreviewHeight();\n }\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 if (c.preview !== undefined) this.preview = c.preview;\n if (c.previewPercentage !== undefined) this.previewPercentage = c.previewPercentage;\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 if (this._isPreviewActive) {\n this._applyPreviewHeight();\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 // In preview mode the details element stays open so the preview remains visible.\n this._detailOpen = this._previewEnabled;\n }\n }\n\n @watch(['preview', 'previewPercentage'], { waitUntilFirstUpdate: true })\n handlePreviewChange() {\n if (this.open) {\n return;\n }\n if (this._previewEnabled) {\n this._detailOpen = true;\n this._applyPreviewHeight();\n } else {\n this.body.hidden = true;\n this.body.style.height = '0';\n this._detailOpen = false;\n }\n }\n\n /** Measures the content and clamps the body to the configured preview height. */\n private async _applyPreviewHeight() {\n await this.updateComplete;\n if (!this._isPreviewActive || !this.body) {\n return;\n }\n this.body.hidden = false;\n this.body.style.height = `${getPreviewHeight(this)}px`;\n }\n\n private _handlePreviewClick() {\n if (this._isPreviewActive && !this.disabled) {\n showDetail(this);\n }\n }\n\n private _handlePreviewKeyDown(event: KeyboardEvent) {\n if (!this._isPreviewActive || this.disabled) {\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n showDetail(this);\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 'detail--preview': this._isPreviewActive,\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\n part=\"content\"\n class=${classMap({\n 'detail__body': true,\n 'detail__body--preview': this._isPreviewActive,\n })}\n role=${this._isPreviewActive ? 'button' : nothing}\n tabindex=${this._isPreviewActive && !this.disabled ? '0' : nothing}\n aria-label=${this._isPreviewActive ? 'Expand to view full content' : nothing}\n @click=${this._handlePreviewClick}\n @keydown=${this._handlePreviewKeyDown}\n >\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"],"names":["IS_BROWSER","window","NileDetail","y","constructor","this","open","heading","description","expandIconPlacement","disabled","preview","previewPercentage","variant","items","selected","allowHtmlLabel","disableLocalSearch","pageSize","placeholderLabel","searchPlaceholder","itemsLabel","restoreLabel","clearLabel","gridRows","gridColumns","minColumnWidth","laneHeight","orientation","maxHeight","matrixColumns","virtualize","virtualizeThreshold","overscan","_detailOpen","_hasSlottedContent","_searchTerm","_selectedSet","Set","_showSelectedOnly","showSelectedToggle","selectedOnlyLabel","showAllLabel","_restoreDefaults","_gridResizeObserver","_virtCtrl","_rowVirtCtrl","_colVirtCtrl","_pageCache","Map","_pendingPages","_this","_inherits","_a","_createClass","key","get","_isSelectionVariant","_isLightVariant","Math","min","max","_previewEnabled","fetchPage","totalCount","value","_effectiveTotalCount","_isInfiniteMode","_filteredItems","length","_getItemAt","index","pageIndex","floor","page","_scheduleFetchForRange","start","end","_this$totalCount2","total","firstPage","lastPage","p","has","_loadPage","_loadPage2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","offset","limit","_context2","next","add","prev","rows","set","Array","isArray","dispatchEvent","CustomEvent","detail","bubbles","composed","t0","error","requestUpdate","finish","stop","resetPages","parsed","parseInt","Number","isFinite","firstUpdated","_isPreviewActive","body","hidden","style","height","_applyPreviewHeight","_syncSelectedFromProperty","_toConsumableArray","_setupGridResizeObserver","disconnectedCallback","super","disconnect","updated","_changed","_syncVirtualizer","_scheduleTooltipOverflowCheck","_isVirtualized","grid","shadowRoot","querySelector","_syncBothVirtualizers","count","isVertical","lanes","itemSize","_columnWidthPx","VirtualizerController","getScrollElement","estimateSize","horizontal","v","getVirtualizer","options","orientationChanged","setOptions","measure","totalItems","cols","ceil","columnWidth","rowHeight","getScrollEl","t","_this3$shadowRoot","rv","cv","_objectSpread","_this$shadowRoot2","_this4","ResizeObserver","observe","requestAnimationFrame","_updateTooltipOverflowStates","_updateTooltipOverflowStates2","_callee2","_this$shadowRoot3","i","_iterator","_step","_i4$shadowRoot","_s3","_i4","_n2","wrap","_callee2$","_context3","tooltips","querySelectorAll","tip","cb","updateComplete","labelEl","scrollWidth","clientWidth","removeAttribute","setAttribute","t1","e","f","_onSelectedPropertyChange","_onConfigChange","_applyConfig","c","config","undefined","renderItemConfig","layout","l","search","placeholder","disableLocal","virtualization","enabled","threshold","pagination","labels","restore","clear","selectedOnly","showAll","_getItemValue","item","rc","getValue","String","_getItemLabel","getDisplayText","label","_getItemSearchText","getSearchText","_getItemDescription","getDescription","_s$getDescription","_i$description","_getItemPrefix","getPrefix","prefix","_getItemSuffix","_s$getSuffix","_i$suffix","getSuffix","suffix","_getItemDisabled","getDisabled","_getItemClassName","_s$getClassName","_i$className","getClassName","className","_this6","source","filter","q","trim","toLowerCase","includes","_onToggleSelectedOnly","event","preventDefault","size","_selectableValues","_this7","from","values","flat","map","_allChecked","selectable","every","_this9","sel","_this$totalCount4","concat","_emitSelectionChange","_onItemChange","target","checked","_onSelectAllChange","forEach","delete","_emitSearch","_onSearchInput","_onSearchClear","_onRestore","_onClear","_handleDefaultSlotChange","nodes","assignedNodes","flatten","some","node","nodeType","Node","ELEMENT_NODE","TEXT_NODE","textContent","_stopHeaderToggle","stopPropagation","_handleSummaryClick","handleSummaryClick","_handleSummaryKeyDown","handleSummaryKeyDown","_handleOpenChange","_callee3","_callee3$","_context4","animateShow","animateHide","handleOpenChange","handlePreviewChange","_applyPreviewHeight2","_callee4","_callee4$","_context5","getPreviewHeight","_handlePreviewClick","showDetail","_handlePreviewKeyDown","_show","_callee5","_callee5$","_context6","abrupt","show","_callee6","_callee6$","_context7","hideDetail","hide","Boolean","join","_renderSelectionLabel","html","_templateObject","_taggedTemplateLiteral","_indeterminate","_countLabel","_renderSelectionBody","virtualized","isBoth","laneHeightPx","gridStyle","_templateObject2","_templateObject3","nothing","classMap","_renderBothVirtualGrid","_renderVirtualGrid","_renderStaticGrid","_renderItemContent","allowHtml","_templateObject4","_templateObject5","unsafeHTML","_templateObject6","_templateObject7","_renderItemTooltip","opts","arguments","isDisabled","tooltipContent","tooltipClass","extraClasses","checkboxClass","_templateObject8","positionStyle","_this11","_templateObject9","_laneHeightPx","rowV","colV","rowTotal","getTotalSize","colTotal","rowItems","getVirtualItems","_o$getVirtualItems","colItems","_templateObject10","flatMap","rvi","cvi","idx","totalSize","_c$getTotalSize2","virtualItems","_c$getVirtualItems2","first","last","_templateObject11","vi","_s$lane","laneIdx","lane","_renderPlaceholder","_templateObject12","render","isSelection","_templateObject13","detail__header","_summaryLabel","_templateObject14","_templateObject15","detail__body","_templateObject16","detail__content","NileElement","styles","__decorate","query","prototype","property","attribute","type","reflect","state","watch","waitUntilFirstUpdate","_export","customElement"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,i;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){e=_lit.css;}],execute:function execute(){_export("s",i=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__content--empty {\n display: none;\n padding: 0;\n }\n\n /* \u2500\u2500 Selection variant \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n .detail__selection-label {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n flex: 1;\n min-width: 0;\n }\n\n .detail__select-all {\n flex: 0 0 auto;\n }\n\n .detail__selection-title {\n display: flex;\n flex-direction: column;\n line-height: 1.3;\n min-width: 0;\n }\n\n .detail__selection-count {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__selection-content {\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__selection-toolbar {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n margin-bottom: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .detail__selection-search {\n flex: 1;\n min-width: 0;\n }\n\n .detail__selection-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 /* \u2500\u2500 Light variant \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\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"]))));}};});
|
|
1
|
+
System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,i;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){e=_lit.css;}],execute:function execute(){_export("s",i=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__content--empty {\n display: none;\n padding: 0;\n }\n\n /* \u2500\u2500 Preview state \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n .detail__body--preview {\n position: relative;\n cursor: pointer;\n }\n\n .detail__body--preview::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: var(--nile-detail-preview-fade-height, 40px);\n background: linear-gradient(\n to bottom,\n transparent,\n var(--nile-colors-white-base, var(--ng-colors-bg-primary))\n );\n pointer-events: none;\n }\n\n .detail__body--preview:focus {\n outline: none;\n }\n\n .detail__body--preview:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: -3px;\n }\n\n .detail--disabled .detail__body--preview {\n cursor: not-allowed;\n }\n\n /* \u2500\u2500 Selection variant \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n .detail__selection-label {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n flex: 1;\n min-width: 0;\n }\n\n .detail__select-all {\n flex: 0 0 auto;\n }\n\n .detail__selection-title {\n display: flex;\n flex-direction: column;\n line-height: 1.3;\n min-width: 0;\n }\n\n .detail__selection-count {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__selection-content {\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__selection-toolbar {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n margin-bottom: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .detail__selection-search {\n flex: 1;\n min-width: 0;\n }\n\n .detail__selection-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 /* \u2500\u2500 Light variant \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\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 .detail--light.detail--preview .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"]))));}};});
|
|
2
2
|
//# sourceMappingURL=nile-detail.css.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-detail.css.cjs.js","sources":["../../../src/nile-detail/nile-detail.css.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .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"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAEaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
|
1
|
+
{"version":3,"file":"nile-detail.css.cjs.js","sources":["../../../src/nile-detail/nile-detail.css.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n box-sizing: border-box;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n :host {\n display: block;\n width: 100%;\n }\n\n .detail {\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overflow: hidden;\n width: 100%;\n line-height: var(--nile-line-height-inherit, var(--ng-line-height-text-sm));\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n }\n\n .detail--disabled {\n opacity: var(--nile-opacity-50, var(--ng-opacity-50));\n }\n\n .detail__header {\n display: flex;\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\n align-items: center;\n border-radius: inherit;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-tertiary));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-neutral-900, var(--ng-colors-text-primary));\n user-select: none;\n cursor: pointer;\n list-style: none;\n }\n\n .detail__header::-webkit-details-marker {\n display: none;\n }\n\n .detail__header::marker {\n content: '';\n }\n\n .detail__header--icon-left {\n flex-direction: row-reverse;\n }\n\n .detail__header:focus {\n outline: none;\n }\n\n .detail__header:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: calc(1px + 1px);\n }\n\n .detail--disabled .detail__header {\n cursor: not-allowed;\n }\n\n .detail--disabled .detail__header:focus-visible {\n outline: none;\n box-shadow: none;\n }\n\n .detail__label {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .detail__header-actions {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .detail__heading-text {\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-4, var(--ng-spacing-xl));\n }\n\n .detail__description {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-secondary));\n margin-top: 2px;\n }\n\n .detail__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms transform ease;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary));\n transform: rotate(90deg);\n }\n\n .detail--open .detail__summary-icon {\n transform: rotate(-90deg);\n }\n\n .detail__body {\n overflow: hidden;\n }\n\n .detail__body[hidden] {\n display: none;\n }\n\n .detail__content {\n display: block;\n padding: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .detail__content--empty {\n display: none;\n padding: 0;\n }\n\n /* ── Preview state ──────────────────────────────────────────────────────── */\n\n .detail__body--preview {\n position: relative;\n cursor: pointer;\n }\n\n .detail__body--preview::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n height: var(--nile-detail-preview-fade-height, 40px);\n background: linear-gradient(\n to bottom,\n transparent,\n var(--nile-colors-white-base, var(--ng-colors-bg-primary))\n );\n pointer-events: none;\n }\n\n .detail__body--preview:focus {\n outline: none;\n }\n\n .detail__body--preview:focus-visible {\n outline: solid 3px var(--nile-colors-blue-500, var(--ng-colors-fg-brand-primary-600));\n outline-offset: -3px;\n }\n\n .detail--disabled .detail__body--preview {\n cursor: not-allowed;\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 .detail--light.detail--preview .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"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAEaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|