@slotted/angular 0.1.0-beta.5 → 0.1.0-beta.7
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/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/segmented-control.json +7 -11
- package/docs/segmented-control.md +1 -1
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/table.examples.md +2 -2
- package/docs/table.json +2 -2
- package/docs/tabs.json +4 -1
- package/docs/tabs.md +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +2 -2
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +12 -12
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +2 -2
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +2 -2
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +1 -1
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +4 -4
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +12 -4
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +2 -2
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +2 -2
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +4 -4
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +2 -2
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +3 -1
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +2 -2
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-menu.d.ts +11 -2
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts +3 -1
- package/types/slotted-angular-table.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-column-manager.mjs","sources":["../../column-manager/src/column-manager-defaults.ts","../../column-manager/src/column-manager.ts","../../column-manager/src/slotted-angular-column-manager.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport type { GridColumnState, GridColumnStateChange } from '@slotted/core/grid';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\n/** Where the panel stands: a popover on the trigger, a drawer at the end, or in place. */\nexport type ColumnManagerPresentation = 'popover' | 'drawer' | 'inline';\n\n/** Whether every action asks at once, or edits a draft that Apply asks for once. */\nexport type ColumnManagerApply = 'live' | 'confirm';\n\nexport type ColumnManagerColumnReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'clear' | 'submit' | 'programmatic'\n>;\n\nexport type ColumnManagerOpenReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'back' | 'programmatic'\n>;\n\n/** The column request: `data-grid`'s, with every key that moved beside the first. */\nexport interface ColumnManagerRequest extends ChangeRequest<GridColumnState> {\n readonly reason: ColumnManagerColumnReason;\n readonly change: GridColumnStateChange;\n readonly changes: readonly GridColumnStateChange[];\n}\n\nexport type ColumnManagerOpenRequest = ChangeRequest<boolean>;\n\nexport interface ColumnManagerDefaults {\n presentation: ColumnManagerPresentation;\n apply: ColumnManagerApply;\n}\n\nconst FALLBACK: ColumnManagerDefaults = {\n presentation: 'popover',\n apply: 'live',\n};\n\nexport const COLUMN_MANAGER_DEFAULTS = new InjectionToken<ColumnManagerDefaults>(\n 'slotted column-manager defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once where its managers stand and whether they apply\n * at once. A manager that states either itself still wins. Its words come from\n * the language in force (`provideSlotted`).\n */\nexport function provideColumnManagerDefaults(defaults: Partial<ColumnManagerDefaults>) {\n return {\n provide: COLUMN_MANAGER_DEFAULTS,\n useFactory: (): ColumnManagerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectColumnManagerDefaults(): ColumnManagerDefaults {\n return inject(COLUMN_MANAGER_DEFAULTS);\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SlColumnManagerIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-column-manager-${this.count}`;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n afterEveryRender,\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n model,\n output,\n Renderer2,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';\nimport { SlDrawer } from '@slotted/angular/drawer';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlMenu, SlMenuItem, SlMenuTrigger } from '@slotted/angular/menu';\nimport type { MenuSelectEvent } from '@slotted/angular/menu';\nimport { SlPopover, SlPopoverContent, SlPopoverLayer } from '@slotted/angular/popover';\nimport { SlTextField, SlTextFieldInput, SlTextFieldStart } from '@slotted/angular/text-field';\nimport { createDragController, type DragController, type DragState } from '@slotted/core/drag';\nimport {\n columnStateChanges,\n normalizeColumnState,\n withColumnHidden,\n withColumnMoved,\n withColumnPinned,\n type GridColumn,\n type GridColumnState,\n type GridOutOfSpace,\n type GridPinZone,\n} from '@slotted/core/grid';\nimport {\n columnManagerMessages,\n dragMessages,\n type ColumnManagerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { getLiveAnnouncer } from '@slotted/core/live-announcer';\nimport { createControllable, type ChangeRequest } from '@slotted/core/state';\n\nimport {\n injectColumnManagerDefaults,\n SlColumnManagerIdFactory,\n type ColumnManagerApply,\n type ColumnManagerColumnReason,\n type ColumnManagerOpenReason,\n type ColumnManagerPresentation,\n type ColumnManagerRequest,\n} from './column-manager-defaults';\n\ntype ZoneKey = 'start' | 'middle' | 'end';\nconst ZONE_KEYS: readonly ZoneKey[] = ['start', 'middle', 'end'];\n/** No column taken out for room: the grid's set before its frame is measured. */\nconst NONE_OUT: GridOutOfSpace = { popin: [], hidden: [] };\n\n/** The three pin zones over the normalised order, every column in one of them. */\nexport function columnZones(state: GridColumnState): Record<ZoneKey, readonly string[]> {\n const start = state.pinned.start.filter((id) => state.order.includes(id));\n const end = state.pinned.end.filter((id) => state.order.includes(id));\n const middle = state.order.filter((id) => !start.includes(id) && !end.includes(id));\n return { start, middle, end };\n}\n\n/** Case and accents fall away, so `Região` is found by `regiao`. */\nexport function searchKey(text: string): string {\n return text.normalize('NFD').replace(/\\p{M}/gu, '').toLowerCase();\n}\n\nfunction sameState(a: GridColumnState, b: GridColumnState): boolean {\n return columnStateChanges(a, b).length === 0;\n}\n\n/** A click with no coordinates is a key. */\nfunction pressReason(event: MouseEvent): 'pointer' | 'keyboard' {\n return event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\nfunction escapeValue(value: string): string {\n return typeof CSS !== 'undefined' && typeof CSS.escape === 'function'\n ? CSS.escape(value)\n : value.replace(/[\"\\\\]/g, '\\\\$&');\n}\n\ninterface DragView {\n dragging: string | null;\n container: ZoneKey | null;\n index: number | null;\n}\n\nconst NO_DRAG: DragView = { dragging: null, container: null, index: null };\n\ninterface ItemView {\n id: string;\n column: GridColumn<unknown>;\n hidden: boolean;\n locked: boolean;\n lastVisible: boolean;\n bySpace: boolean;\n handleDisabled: boolean;\n status: string | null;\n zone: GridPinZone;\n /** The index in the whole zone, which the drop line is placed by. */\n index: number;\n}\n\ninterface SectionView {\n key: ZoneKey;\n label: string;\n items: ItemView[];\n /** Drop line after the last item. */\n dropAtEnd: boolean;\n}\n\n/**\n * Writes this family's part name on a control another family's directive\n * owns. `slButton` writes `data-part=\"root\"` as a static host attribute and\n * `slMenuTriggerFor` binds `[attr.data-part]` to `null` on a trigger that is\n * neither a bar's item nor a submenu's; either erases the part the template\n * wrote, so it is written back after the first render.\n */\n@Directive({ selector: '[slColumnManagerPart]', standalone: true })\nexport class SlColumnManagerPart {\n readonly part = input.required<string>({ alias: 'slColumnManagerPart' });\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n constructor() {\n afterNextRender(() => this.host.nativeElement.setAttribute('data-part', this.part()));\n }\n}\n\n/**\n * The panel that edits a grid's column state: which columns are shown, in\n * which order, pinned to which edge. It does not know the grid: it is given\n * the columns, the state and the set the grid hid for room, and asks for every\n * change with a request carrying the reason and the keys that moved.\n *\n * The host renders nothing of its own (`display: contents`); the root is the\n * popover's one child, the drawer's content, or stands in place.\n */\n@Component({\n selector: 'sl-column-manager',\n standalone: true,\n exportAs: 'slColumnManager',\n imports: [\n NgTemplateOutlet,\n SlButton,\n SlCheckbox,\n SlCheckboxDescription,\n SlColumnManagerPart,\n SlDrawer,\n SlGlyph,\n SlIcon,\n SlMenu,\n SlMenuItem,\n SlMenuTrigger,\n SlPopover,\n SlPopoverContent,\n SlPopoverLayer,\n SlTextField,\n SlTextFieldInput,\n SlTextFieldStart,\n ],\n template: `\n @switch (resolvedPresentation()) {\n @case ('popover') {\n <ng-container\n slPopover\n size=\"lg\"\n side=\"bottom\"\n align=\"start\"\n initialFocus=\"[data-part='search'] input\"\n [open]=\"open()\"\n (openChangeRequest)=\"onLayerRequest($event)\"\n >\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-labelledby]=\"titleId\">\n <ng-container [ngTemplateOutlet]=\"panel\" />\n </div>\n </ng-template>\n </ng-container>\n }\n @case ('drawer') {\n <sl-drawer\n side=\"end\"\n size=\"sm\"\n [open]=\"open()\"\n [finalFocus]=\"triggerNode() ?? false\"\n (openChangeRequest)=\"onLayerRequest($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"panel\" />\n </sl-drawer>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"panel\" />\n }\n }\n\n <ng-template #panel>\n <div\n #root\n data-ui=\"column-manager\"\n data-part=\"root\"\n role=\"group\"\n [attr.id]=\"rootId\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.data-presentation]=\"resolvedPresentation()\"\n [attr.data-apply]=\"resolvedApply()\"\n >\n <div data-part=\"header\">\n <h2 data-part=\"title\" [attr.id]=\"titleId\">{{ t('title') }}</h2>\n <span data-part=\"summary\">{{ summary() }}</span>\n </div>\n <div data-part=\"search\">\n <div slTextField size=\"sm\" [clearable]=\"true\">\n <span slTextFieldStart\n ><span slIcon><svg slGlyph name=\"search\"></svg></span\n ></span>\n <input\n slTextFieldInput\n type=\"search\"\n [value]=\"query()\"\n [attr.aria-label]=\"t('search')\"\n [attr.placeholder]=\"t('search')\"\n (valueChange)=\"query.set($event.value)\"\n />\n </div>\n </div>\n <div data-part=\"list\">\n @if (sections().length === 0 && searching()) {\n <div data-part=\"empty\" role=\"status\">{{ t('noResults') }}</div>\n }\n @for (section of sections(); track section.key) {\n <div\n data-part=\"section\"\n role=\"group\"\n [attr.data-zone]=\"section.key\"\n [attr.aria-labelledby]=\"rootId + '-' + section.key\"\n [attr.data-sole]=\"sections().length === 1 ? '' : null\"\n [attr.data-drop-target]=\"\n drag().container === section.key && drag().index !== null ? '' : null\n \"\n >\n <div data-part=\"section-label\" [attr.id]=\"rootId + '-' + section.key\">\n {{ section.label }}\n </div>\n @for (item of section.items; track item.id) {\n @if (dropAt(section.key, item.index)) {\n <div data-part=\"drop-indicator\" aria-hidden=\"true\"></div>\n }\n <div\n data-part=\"item\"\n [attr.data-column]=\"item.id\"\n [attr.data-hidden]=\"item.hidden ? '' : null\"\n [attr.data-locked]=\"item.locked ? '' : null\"\n [attr.data-space-hidden]=\"item.bySpace ? '' : null\"\n [attr.data-pinned]=\"item.zone\"\n [attr.data-dragging]=\"drag().dragging === item.id ? '' : null\"\n >\n <button\n data-part=\"handle\"\n type=\"button\"\n [attr.aria-label]=\"t('reorder', { column: item.column.label })\"\n [attr.aria-disabled]=\"item.handleDisabled ? 'true' : null\"\n [attr.data-disabled]=\"item.handleDisabled ? '' : null\"\n (keydown)=\"onHandleKeyDown($event, item.id, section.key)\"\n >\n <span slIcon size=\"sm\"><svg slGlyph name=\"grip-vertical\"></svg></span>\n </button>\n <div data-part=\"visibility\">\n <div\n slCheckbox\n [checked]=\"!item.hidden\"\n [disabled]=\"(item.locked && !item.hidden) || item.lastVisible\"\n (checkedChange)=\"toggle(item.id, $event)\"\n >\n {{ item.column.label }}\n @if (item.status) {\n <span data-part=\"status\">{{ item.status }}</span>\n }\n @if (item.column.description) {\n <p slCheckboxDescription>{{ item.column.description }}</p>\n }\n </div>\n </div>\n <button\n type=\"button\"\n slColumnManagerPart=\"pin\"\n data-part=\"pin\"\n [slMenuTriggerFor]=\"pinMenu\"\n [attr.aria-label]=\"t('pin', { column: item.column.label })\"\n [attr.data-pinned]=\"item.zone ? '' : null\"\n >\n <span slIcon size=\"sm\"><svg slGlyph name=\"pin\"></svg></span>\n </button>\n <sl-menu #pinMenu size=\"sm\">\n <button\n slMenuItem\n [disabled]=\"item.zone === 'start'\"\n (select)=\"pin(item.id, 'start', $event)\"\n >\n {{ t('pinStart') }}\n </button>\n <button\n slMenuItem\n [disabled]=\"item.zone === 'end'\"\n (select)=\"pin(item.id, 'end', $event)\"\n >\n {{ t('pinEnd') }}\n </button>\n @if (item.zone) {\n <button slMenuItem (select)=\"pin(item.id, null, $event)\">\n {{ t('unpin') }}\n </button>\n }\n </sl-menu>\n </div>\n }\n @if (section.dropAtEnd) {\n <div data-part=\"drop-indicator\" aria-hidden=\"true\"></div>\n }\n </div>\n }\n </div>\n <div data-part=\"footer\">\n <button\n slButton\n slColumnManagerPart=\"show-all\"\n size=\"sm\"\n tone=\"secondary\"\n variant=\"ghost\"\n type=\"button\"\n [disabled]=\"working().hidden.length === 0\"\n (click)=\"showAll($event)\"\n >\n {{ t('showAll') }}\n </button>\n <button\n slButton\n slColumnManagerPart=\"reset\"\n size=\"sm\"\n tone=\"secondary\"\n variant=\"ghost\"\n type=\"button\"\n [disabled]=\"atDefault()\"\n (click)=\"reset($event)\"\n >\n {{ t('reset') }}\n </button>\n @if (confirm()) {\n <button\n slButton\n slColumnManagerPart=\"cancel\"\n size=\"sm\"\n tone=\"secondary\"\n variant=\"outline\"\n type=\"button\"\n (click)=\"cancel($event)\"\n >\n {{ t('cancel') }}\n </button>\n <button\n slButton\n slColumnManagerPart=\"apply\"\n size=\"sm\"\n type=\"button\"\n [disabled]=\"!dirty()\"\n (click)=\"applyDraft($event)\"\n >\n {{ t('apply') }}\n </button>\n }\n </div>\n </div>\n </ng-template>\n `,\n styleUrl: '../../../styles/src/column-manager/column-manager.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[style.display]': \"'contents'\" },\n})\nexport class SlColumnManager {\n /** The grid's columns, as the grid is given them. */\n readonly columns = input.required<readonly GridColumn<never>[]>();\n /** The state; two-way, so a template may bind it directly. */\n readonly columnState = model<GridColumnState | undefined>(undefined);\n /** The start while nothing is bound, and the target of Restore defaults. */\n readonly defaultColumnState = input<Partial<GridColumnState> | undefined>(undefined);\n /**\n * The columns the grid took out for room — the grid's `outOfSpace()`:\n * listed with a status, never written to the state.\n */\n readonly outOfSpace = input<GridOutOfSpace>(NONE_OUT);\n readonly presentation = input<ColumnManagerPresentation | undefined>(undefined);\n readonly apply = input<ColumnManagerApply | undefined>(undefined);\n readonly open = model<boolean>(false);\n /** Words laid over the catalog of the language in force, key by key. */\n readonly messages = input<PartialMessages<ColumnManagerMessages> | undefined>(undefined);\n\n /** Before the state moves, with the reason and every key that moved. */\n readonly columnStateChangeRequest = output<ColumnManagerRequest>();\n /** Before the layer opens or closes, with the reason. */\n readonly openChangeRequest = output<ChangeRequest<boolean>>();\n\n private readonly defaults = injectColumnManagerDefaults();\n private readonly base = inject(SlColumnManagerIdFactory).next();\n readonly rootId = `${this.base}-panel`;\n readonly titleId = `${this.base}-title`;\n\n /** The family's words in the language in force, with this manager's `messages` laid over them. */\n readonly t = injectMessages(columnManagerMessages, this.messages);\n /** What a drag of a column says, in the language in force. */\n private readonly dragT = injectMessages(dragMessages);\n readonly resolvedPresentation = computed(() => this.presentation() ?? this.defaults.presentation);\n readonly resolvedApply = computed(() => this.apply() ?? this.defaults.apply);\n protected readonly confirm = computed(() => this.resolvedApply() === 'confirm');\n\n private readonly normalizedDefault = computed(() =>\n normalizeColumnState(this.defaultColumnState(), this.columns()),\n );\n /** The committed state: the bound one, or the default. */\n readonly state = computed(() =>\n normalizeColumnState(this.columnState() ?? this.defaultColumnState(), this.columns()),\n );\n private readonly draft = signal<GridColumnState | null>(null);\n protected readonly working = computed(() =>\n this.confirm() ? (this.draft() ?? this.state()) : this.state(),\n );\n protected readonly dirty = computed(() => {\n const draft = this.draft();\n return draft !== null && !sameState(draft, this.state());\n });\n protected readonly atDefault = computed(() =>\n sameState(this.working(), this.normalizedDefault()),\n );\n\n /** How many columns the reader hid; the trigger's count. */\n readonly hiddenCount = computed(() => this.state().hidden.length);\n\n readonly query = signal('');\n private readonly searchText = computed(() => searchKey(this.query().trim()));\n protected readonly searching = computed(() => this.searchText() !== '');\n\n private readonly byId = computed(\n () => new Map(this.columns().map((column) => [column.id, column as GridColumn<unknown>])),\n );\n private readonly zones = computed(() => columnZones(this.working()));\n private readonly visibleCount = computed(() => {\n const hidden = new Set(this.working().hidden);\n return this.working().order.filter((id) => !hidden.has(id)).length;\n });\n protected readonly summary = computed(() =>\n this.t('visibleCount', {\n visible: this.visibleCount(),\n total: this.working().order.length,\n }),\n );\n\n protected readonly drag = signal<DragView>(NO_DRAG);\n\n protected readonly sections = computed<SectionView[]>(() => {\n const zones = this.zones();\n const byId = this.byId();\n const hidden = new Set(this.working().hidden);\n const space = new Set(this.outOfSpace().hidden);\n const inRow = new Set(this.outOfSpace().popin);\n const visible = this.visibleCount();\n const text = this.searchText();\n const searching = text !== '';\n const t = this.t;\n const labels = { start: t('pinnedStart'), middle: t('unpinned'), end: t('pinnedEnd') };\n return ZONE_KEYS.map((key) => {\n const items = zones[key]\n .map((id, index) => ({ id, index, column: byId.get(id) }))\n .filter(\n (entry): entry is { id: string; index: number; column: GridColumn<unknown> } =>\n entry.column !== undefined &&\n (!searching ||\n searchKey(entry.column.label).includes(text) ||\n searchKey(entry.column.description ?? '').includes(text)),\n )\n .map(({ id, index, column }) => {\n const isHidden = hidden.has(id);\n const locked = column.hideable === false;\n const bySpace = !isHidden && space.has(id);\n const shownInRow = !isHidden && inRow.has(id);\n return {\n id,\n column,\n index,\n hidden: isHidden,\n locked,\n lastVisible: !isHidden && visible <= 1,\n bySpace,\n handleDisabled: searching || column.reorderable === false,\n status: locked\n ? t('required')\n : bySpace\n ? t('hiddenBySpace')\n : shownInRow\n ? t('inRow')\n : null,\n zone: key === 'middle' ? null : key,\n } satisfies ItemView;\n });\n return {\n key,\n label: labels[key],\n items,\n dropAtEnd: this.dropAt(key, zones[key].length),\n };\n }).filter((section) => section.items.length > 0);\n });\n\n /* ── The trigger ─────────────────────────────────────────────────────── */\n\n readonly triggerNode = signal<HTMLElement | null>(null);\n private readonly popover = viewChild(SlPopover);\n\n /** Called by `slColumnManagerTrigger`. */\n registerTrigger(node: HTMLElement | null) {\n this.triggerNode.set(node);\n }\n\n /* ── The drag ────────────────────────────────────────────────────────── */\n\n private readonly root = viewChild<ElementRef<HTMLDivElement>>('root');\n private controller: DragController | null = null;\n private readonly draggables = new Map<string, { node: HTMLElement; detach: () => void }>();\n private pendingFocus: string | null = null;\n\n constructor() {\n /* The popover hangs from this family's trigger, and a press on it is not\n an outside press. */\n effect(() => {\n const popover = this.popover();\n const trigger = this.triggerNode();\n if (popover) untracked(() => popover.triggerNode.set(trigger));\n });\n\n /* A draft is read when the layer opens, and dropped when it closes. */\n effect(() => {\n if (!this.open()) {\n untracked(() => {\n this.draft.set(null);\n this.query.set('');\n });\n }\n });\n\n effect((onCleanup) => {\n const element = this.root()?.nativeElement;\n if (!element) return;\n const controller = untracked(() => this.createController(element));\n onCleanup(() => {\n controller.destroy();\n this.controller = null;\n for (const entry of this.draggables.values()) entry.detach();\n this.draggables.clear();\n });\n });\n\n afterEveryRender(() => {\n this.syncDraggables();\n const id = this.pendingFocus;\n const element = this.root()?.nativeElement;\n if (id && element) {\n this.pendingFocus = null;\n element\n .querySelector<HTMLElement>(\n `[data-part=\"item\"][data-column=\"${escapeValue(id)}\"] > [data-part=\"handle\"]`,\n )\n ?.focus();\n }\n });\n\n inject(DestroyRef).onDestroy(() => this.controller?.destroy());\n }\n\n private createController(element: HTMLElement): DragController {\n const document = element.ownerDocument;\n const announce = (message: string) => {\n if (message !== '') getLiveAnnouncer(document).announce(message);\n };\n const itemOf = (id: string) =>\n element.querySelector<HTMLElement>(`[data-part=\"item\"][data-column=\"${escapeValue(id)}\"]`);\n const controller = createDragController({\n document,\n preview: false,\n restoreFocus: false,\n autoScroll: { axis: 'y' },\n announce,\n t: this.dragT,\n /* A one-step keyboard move says where the column landed once, below;\n the controller's own step-by-step position would say it twice. */\n silent: ['moved'],\n onDrop: ({ items, source, target, reason, event }) => {\n if (target.kind !== 'between' || target.container !== source.container) return;\n const zone = this.zones()[source.container as ZoneKey];\n const id = items[0]!;\n const to = target.index > source.index ? target.index - 1 : target.index;\n this.edit(\n withColumnMoved(this.working(), id, to, zone),\n reason === 'keyboard' ? 'keyboard' : 'pointer',\n event,\n );\n if (reason === 'keyboard') {\n this.pendingFocus = id;\n const label = this.byId().get(id)?.label ?? id;\n announce(this.t('moved', { column: label, position: to + 1 }));\n }\n },\n });\n for (const key of ZONE_KEYS) {\n controller.registerContainer({\n key,\n items: () => this.zones()[key],\n orientation: 'vertical',\n element: () => element.querySelector(`[data-part=\"section\"][data-zone=\"${key}\"]`),\n itemElement: itemOf,\n accepts: (state: DragState, target) => state.source?.container === target.container,\n disabled: () => this.searching(),\n itemLabel: (id) => this.byId().get(id)?.label ?? id,\n });\n }\n controller.subscribe((next) => {\n if (next.status !== 'dragging' || next.reason === 'keyboard') {\n this.drag.set(NO_DRAG);\n return;\n }\n const target = next.target;\n this.drag.set({\n dragging: next.items[0] ?? null,\n container: target && target.kind === 'between' ? (target.container as ZoneKey) : null,\n index: target && target.kind === 'between' && next.valid ? target.index : null,\n });\n });\n this.controller = controller;\n return controller;\n }\n\n /** Every item is a draggable whose press must start on its handle. */\n private syncDraggables() {\n const controller = this.controller;\n const element = this.root()?.nativeElement;\n if (!controller || !element) return;\n const seen = new Set<string>();\n for (const node of element.querySelectorAll<HTMLElement>('[data-part=\"item\"][data-column]')) {\n const id = node.dataset['column']!;\n const key = node.closest<HTMLElement>('[data-part=\"section\"]')?.dataset['zone'] ?? 'middle';\n seen.add(id);\n const existing = this.draggables.get(id);\n if (existing && existing.node === node && node.dataset['attachedZone'] === key) continue;\n existing?.detach();\n node.dataset['attachedZone'] = key;\n const detach = controller.attachDraggable(node, {\n container: key,\n key: id,\n handle: () => node.querySelector('[data-part=\"handle\"]'),\n disabled: () => this.searching() || this.byId().get(id)?.reorderable === false,\n distance: 4,\n });\n this.draggables.set(id, { node, detach });\n }\n for (const [id, entry] of this.draggables) {\n if (seen.has(id)) continue;\n entry.detach();\n this.draggables.delete(id);\n }\n }\n\n protected dropAt(key: ZoneKey, index: number): boolean {\n const drag = this.drag();\n if (drag.container !== key || drag.index !== index || drag.dragging === null) return false;\n const from = this.zones()[key].indexOf(drag.dragging);\n return index !== from && index !== from + 1;\n }\n\n /* ── Requests ─────────────────────────────────────────────────────────── */\n\n private emit(next: GridColumnState, reason: ColumnManagerColumnReason, source?: unknown) {\n const previous = this.state();\n const changes = columnStateChanges(previous, next);\n if (changes.length === 0) return false;\n let cancelled = false;\n const request: ColumnManagerRequest = {\n value: next,\n previous,\n reason,\n source,\n change: changes[0]!,\n changes,\n get cancelled() {\n return cancelled;\n },\n cancel() {\n cancelled = true;\n },\n };\n this.columnStateChangeRequest.emit(request);\n if (cancelled) return false;\n this.columnState.set(next);\n return true;\n }\n\n private edit(next: GridColumnState, reason: ColumnManagerColumnReason, source?: unknown) {\n if (this.confirm()) this.draft.set(next);\n else this.emit(next, reason, source);\n }\n\n private setOpen(next: boolean, reason: ColumnManagerOpenReason, source?: unknown): boolean {\n if (next === this.open()) return false;\n let cancelled = false;\n const state = createControllable<boolean>({\n initial: this.open(),\n onRequest: (request) => {\n this.openChangeRequest.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, source);\n if (cancelled) return false;\n this.open.set(next);\n return true;\n }\n\n protected onLayerRequest(request: ChangeRequest<boolean>) {\n const moved = this.setOpen(\n request.value,\n request.reason as ColumnManagerOpenReason,\n request.source,\n );\n if (!moved) request.cancel();\n }\n\n protected toggle(id: string, request: ChangeRequest<boolean>) {\n this.edit(\n withColumnHidden(this.working(), id, !request.value),\n request.reason === 'keyboard' ? 'keyboard' : 'pointer',\n request.source,\n );\n }\n\n protected pin(id: string, zone: GridPinZone, event: MenuSelectEvent) {\n this.edit(withColumnPinned(this.working(), id, zone), event.reason, event.source);\n }\n\n protected showAll(event: MouseEvent) {\n this.edit({ ...this.working(), hidden: [] }, pressReason(event), event);\n }\n\n protected reset(event: MouseEvent) {\n this.edit(this.normalizedDefault(), 'clear', event);\n }\n\n protected applyDraft(event: MouseEvent) {\n const draft = this.draft();\n if (draft !== null) this.emit(draft, 'submit', event);\n this.draft.set(null);\n if (this.resolvedPresentation() !== 'inline') this.setOpen(false, pressReason(event), event);\n }\n\n protected cancel(event: MouseEvent) {\n this.draft.set(null);\n if (this.resolvedPresentation() !== 'inline') this.setOpen(false, pressReason(event), event);\n }\n\n protected onHandleKeyDown(event: KeyboardEvent, id: string, key: ZoneKey) {\n if (!event.altKey || (event.key !== 'ArrowUp' && event.key !== 'ArrowDown')) return;\n event.preventDefault();\n if (this.searching() || this.byId().get(id)?.reorderable === false) return;\n const zone = this.zones()[key];\n const index = zone.indexOf(id);\n const up = event.key === 'ArrowUp';\n if ((up && index <= 0) || (!up && index >= zone.length - 1)) return;\n this.controller?.moveBy({\n items: [id],\n source: { container: key, index },\n intent: up ? 'previous' : 'next',\n reason: 'keyboard',\n event,\n });\n }\n\n /* ── The imperative actions ──────────────────────────────────────────── */\n\n /** Opens the layer, with the reason `programmatic`. */\n show() {\n this.setOpen(true, 'programmatic');\n }\n\n /** Closes the layer, with the reason `programmatic`. */\n hide() {\n this.setOpen(false, 'programmatic');\n }\n\n /** Called by the trigger, with the reason of the press. */\n toggleOpen(reason: ColumnManagerOpenReason = 'programmatic', source?: unknown) {\n this.setOpen(!this.open(), reason, source);\n }\n}\n\n/**\n * The consumer's button, wired to a manager: the popup it opens, whether it\n * is open, what it controls, and the count of hidden columns after its words\n * — a chip on screen and a sentence in its accessible name. A directive\n * cannot project, so the two spans are appended to the host once and kept\n * current from the manager's count.\n */\n@Directive({\n selector: '[slColumnManagerTrigger]',\n standalone: true,\n exportAs: 'slColumnManagerTrigger',\n host: {\n 'aria-haspopup': 'dialog',\n 'data-column-manager-trigger': '',\n '[attr.aria-expanded]': 'manager().open()',\n '[attr.aria-controls]': 'manager().open() ? manager().rootId : null',\n '[attr.data-open]': \"manager().open() ? '' : null\",\n '(click)': 'onClick($event)',\n },\n})\nexport class SlColumnManagerTrigger {\n readonly manager = input.required<SlColumnManager>({ alias: 'slColumnManagerTriggerFor' });\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private readonly count = signal<{ chip: HTMLElement; sentence: HTMLElement } | null>(null);\n\n constructor() {\n effect((onCleanup) => {\n const manager = this.manager();\n manager.registerTrigger(this.host);\n onCleanup(() => manager.registerTrigger(null));\n });\n\n /* `slButton` writes `data-part=\"root\"` statically; the part is this family's. */\n afterNextRender(() => {\n this.host.setAttribute('data-part', 'trigger');\n const chip = this.renderer.createElement('span') as HTMLElement;\n chip.setAttribute('data-part', 'count');\n chip.setAttribute('aria-hidden', 'true');\n const sentence = this.renderer.createElement('span') as HTMLElement;\n sentence.setAttribute('data-ui', 'visually-hidden');\n sentence.setAttribute('data-part', 'root');\n this.count.set({ chip, sentence });\n });\n\n effect(() => {\n const nodes = this.count();\n if (!nodes) return;\n const manager = this.manager();\n const hidden = manager.hiddenCount();\n if (hidden === 0) {\n nodes.chip.remove();\n nodes.sentence.remove();\n return;\n }\n nodes.chip.textContent = String(hidden);\n nodes.sentence.textContent = manager.t('hiddenCount', { count: hidden });\n if (!nodes.chip.isConnected) {\n this.host.append(' ', nodes.chip, ' ', nodes.sentence);\n }\n });\n }\n\n protected onClick(event: MouseEvent) {\n if (event.defaultPrevented) return;\n this.manager().toggleOpen(pressReason(event), event);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-column-manager.mjs","sources":["../../column-manager/src/column-manager-defaults.ts","../../column-manager/src/column-manager.ts","../../column-manager/src/slotted-angular-column-manager.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport type { GridColumnState, GridColumnStateChange } from '@slotted/core/grid';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\n/** Where the panel stands: a popover on the trigger, a drawer at the end, or in place. */\nexport type ColumnManagerPresentation = 'popover' | 'drawer' | 'inline';\n\n/** Whether every action asks at once, or edits a draft that Apply asks for once. */\nexport type ColumnManagerApply = 'live' | 'confirm';\n\nexport type ColumnManagerColumnReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'clear' | 'submit' | 'programmatic'\n>;\n\nexport type ColumnManagerOpenReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'back' | 'programmatic'\n>;\n\n/** The column request: `data-grid`'s, with every key that moved beside the first. */\nexport interface ColumnManagerRequest extends ChangeRequest<GridColumnState> {\n readonly reason: ColumnManagerColumnReason;\n readonly change: GridColumnStateChange;\n readonly changes: readonly GridColumnStateChange[];\n}\n\nexport type ColumnManagerOpenRequest = ChangeRequest<boolean>;\n\nexport interface ColumnManagerDefaults {\n presentation: ColumnManagerPresentation;\n apply: ColumnManagerApply;\n}\n\nconst FALLBACK: ColumnManagerDefaults = {\n presentation: 'popover',\n apply: 'live',\n};\n\nexport const COLUMN_MANAGER_DEFAULTS = new InjectionToken<ColumnManagerDefaults>(\n 'slotted column-manager defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once where its managers stand and whether they apply\n * at once. A manager that states either itself still wins. Its words come from\n * the language in force (`provideSlotted`).\n */\nexport function provideColumnManagerDefaults(defaults: Partial<ColumnManagerDefaults>) {\n return {\n provide: COLUMN_MANAGER_DEFAULTS,\n useFactory: (): ColumnManagerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectColumnManagerDefaults(): ColumnManagerDefaults {\n return inject(COLUMN_MANAGER_DEFAULTS);\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SlColumnManagerIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-column-manager-${this.count}`;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n afterEveryRender,\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n model,\n output,\n Renderer2,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';\nimport { SlDrawer } from '@slotted/angular/drawer';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlMenu, SlMenuItem, SlMenuTrigger } from '@slotted/angular/menu';\nimport type { MenuSelectEvent } from '@slotted/angular/menu';\nimport { SlPopover, SlPopoverContent, SlPopoverLayer } from '@slotted/angular/popover';\nimport { SlTextField, SlTextFieldInput, SlTextFieldStart } from '@slotted/angular/text-field';\nimport { createDragController, type DragController, type DragState } from '@slotted/core/drag';\nimport {\n columnStateChanges,\n normalizeColumnState,\n withColumnHidden,\n withColumnMoved,\n withColumnPinned,\n type GridColumn,\n type GridColumnState,\n type GridOutOfSpace,\n type GridPinZone,\n} from '@slotted/core/grid';\nimport {\n columnManagerMessages,\n dragMessages,\n type ColumnManagerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { getLiveAnnouncer } from '@slotted/core/live-announcer';\nimport { createControllable, type ChangeRequest } from '@slotted/core/state';\n\nimport {\n injectColumnManagerDefaults,\n SlColumnManagerIdFactory,\n type ColumnManagerApply,\n type ColumnManagerColumnReason,\n type ColumnManagerOpenReason,\n type ColumnManagerPresentation,\n type ColumnManagerRequest,\n} from './column-manager-defaults';\n\ntype ZoneKey = 'start' | 'middle' | 'end';\nconst ZONE_KEYS: readonly ZoneKey[] = ['start', 'middle', 'end'];\n/** No column taken out for room: the grid's set before its frame is measured. */\nconst NONE_OUT: GridOutOfSpace = { popin: [], hidden: [] };\n\n/** The three pin zones over the normalised order, every column in one of them. */\nexport function columnZones(state: GridColumnState): Record<ZoneKey, readonly string[]> {\n const start = state.pinned.start.filter((id) => state.order.includes(id));\n const end = state.pinned.end.filter((id) => state.order.includes(id));\n const middle = state.order.filter((id) => !start.includes(id) && !end.includes(id));\n return { start, middle, end };\n}\n\n/** Case and accents fall away, so `Região` is found by `regiao`. */\nexport function searchKey(text: string): string {\n return text.normalize('NFD').replace(/\\p{M}/gu, '').toLowerCase();\n}\n\nfunction sameState(a: GridColumnState, b: GridColumnState): boolean {\n return columnStateChanges(a, b).length === 0;\n}\n\n/** A click with no coordinates is a key. */\nfunction pressReason(event: MouseEvent): 'pointer' | 'keyboard' {\n return event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\nfunction escapeValue(value: string): string {\n return typeof CSS !== 'undefined' && typeof CSS.escape === 'function'\n ? CSS.escape(value)\n : value.replace(/[\"\\\\]/g, '\\\\$&');\n}\n\ninterface DragView {\n dragging: string | null;\n container: ZoneKey | null;\n index: number | null;\n}\n\nconst NO_DRAG: DragView = { dragging: null, container: null, index: null };\n\ninterface ItemView {\n id: string;\n column: GridColumn<unknown>;\n hidden: boolean;\n locked: boolean;\n lastVisible: boolean;\n bySpace: boolean;\n handleDisabled: boolean;\n status: string | null;\n zone: GridPinZone;\n /** The index in the whole zone, which the drop line is placed by. */\n index: number;\n}\n\ninterface SectionView {\n key: ZoneKey;\n label: string;\n items: ItemView[];\n /** Drop line after the last item. */\n dropAtEnd: boolean;\n}\n\n/**\n * Writes this family's part name on a control another family's directive\n * owns. `slButton` writes `data-part=\"root\"` as a static host attribute and\n * `slMenuTriggerFor` binds `[attr.data-part]` to `null` on a trigger that is\n * neither a bar's item nor a submenu's; either erases the part the template\n * wrote, so it is written back after the first render.\n */\n@Directive({ selector: '[slColumnManagerPart]', standalone: true })\nexport class SlColumnManagerPart {\n readonly part = input.required<string>({ alias: 'slColumnManagerPart' });\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n constructor() {\n afterNextRender(() => this.host.nativeElement.setAttribute('data-part', this.part()));\n }\n}\n\n/**\n * The panel that edits a grid's column state: which columns are shown, in\n * which order, pinned to which edge. It does not know the grid: it is given\n * the columns, the state and the set the grid hid for room, and asks for every\n * change with a request carrying the reason and the keys that moved.\n *\n * The host renders nothing of its own (`display: contents`); the root is the\n * popover's one child, the drawer's content, or stands in place.\n */\n@Component({\n selector: 'sl-column-manager',\n standalone: true,\n exportAs: 'slColumnManager',\n imports: [\n NgTemplateOutlet,\n SlButton,\n SlCheckbox,\n SlCheckboxDescription,\n SlColumnManagerPart,\n SlDrawer,\n SlGlyph,\n SlIcon,\n SlMenu,\n SlMenuItem,\n SlMenuTrigger,\n SlPopover,\n SlPopoverContent,\n SlPopoverLayer,\n SlTextField,\n SlTextFieldInput,\n SlTextFieldStart,\n ],\n template: `\n @switch (resolvedPresentation()) {\n @case ('popover') {\n <ng-container\n slPopover\n size=\"lg\"\n side=\"bottom\"\n align=\"start\"\n initialFocus=\"[data-part='search'] input\"\n [open]=\"open()\"\n (openChangeRequest)=\"onLayerRequest($event)\"\n >\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-labelledby]=\"titleId\">\n <ng-container [ngTemplateOutlet]=\"panel\" />\n </div>\n </ng-template>\n </ng-container>\n }\n @case ('drawer') {\n <sl-drawer\n side=\"end\"\n size=\"sm\"\n [open]=\"open()\"\n [finalFocus]=\"triggerNode() ?? false\"\n (openChangeRequest)=\"onLayerRequest($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"panel\" />\n </sl-drawer>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"panel\" />\n }\n }\n\n <ng-template #panel>\n <div\n #root\n data-ui=\"column-manager\"\n data-part=\"root\"\n role=\"group\"\n [attr.id]=\"rootId\"\n [attr.aria-labelledby]=\"titleId\"\n [attr.data-presentation]=\"resolvedPresentation()\"\n [attr.data-apply]=\"resolvedApply()\"\n >\n <div data-part=\"header\">\n <h2 data-part=\"title\" [attr.id]=\"titleId\">{{ t('title') }}</h2>\n <span data-part=\"summary\">{{ summary() }}</span>\n </div>\n <div data-part=\"search\">\n <div slTextField size=\"sm\" [clearable]=\"true\">\n <span slTextFieldStart\n ><span slIcon><svg slGlyph name=\"search\"></svg></span\n ></span>\n <input\n slTextFieldInput\n type=\"search\"\n [value]=\"query()\"\n [attr.aria-label]=\"t('search')\"\n [attr.placeholder]=\"t('search')\"\n (valueChange)=\"query.set($event.value)\"\n />\n </div>\n </div>\n <div data-part=\"list\">\n @if (sections().length === 0 && searching()) {\n <div data-part=\"empty\" role=\"status\">{{ t('noResults') }}</div>\n }\n @for (section of sections(); track section.key) {\n <div\n data-part=\"section\"\n role=\"group\"\n [attr.data-zone]=\"section.key\"\n [attr.aria-labelledby]=\"rootId + '-' + section.key\"\n [attr.data-sole]=\"sections().length === 1 ? '' : null\"\n [attr.data-drop-target]=\"\n drag().container === section.key && drag().index !== null ? '' : null\n \"\n >\n <div data-part=\"section-label\" [attr.id]=\"rootId + '-' + section.key\">\n {{ section.label }}\n </div>\n @for (item of section.items; track item.id) {\n @if (dropAt(section.key, item.index)) {\n <div data-part=\"drop-indicator\" aria-hidden=\"true\"></div>\n }\n <div\n data-part=\"item\"\n [attr.data-column]=\"item.id\"\n [attr.data-hidden]=\"item.hidden ? '' : null\"\n [attr.data-locked]=\"item.locked ? '' : null\"\n [attr.data-space-hidden]=\"item.bySpace ? '' : null\"\n [attr.data-pinned]=\"item.zone\"\n [attr.data-dragging]=\"drag().dragging === item.id ? '' : null\"\n >\n <button\n data-part=\"handle\"\n type=\"button\"\n [attr.aria-label]=\"t('reorder', { column: item.column.label })\"\n [attr.aria-disabled]=\"item.handleDisabled ? 'true' : null\"\n [attr.data-disabled]=\"item.handleDisabled ? '' : null\"\n (keydown)=\"onHandleKeyDown($event, item.id, section.key)\"\n >\n <span slIcon size=\"sm\"><svg slGlyph name=\"grip-vertical\"></svg></span>\n </button>\n <div data-part=\"visibility\">\n <div\n slCheckbox\n [checked]=\"!item.hidden\"\n [disabled]=\"(item.locked && !item.hidden) || item.lastVisible\"\n (checkedChange)=\"toggle(item.id, $event)\"\n >\n {{ item.column.label }}\n @if (item.status) {\n <span data-part=\"status\">{{ item.status }}</span>\n }\n @if (item.column.description) {\n <p slCheckboxDescription>{{ item.column.description }}</p>\n }\n </div>\n </div>\n <button\n type=\"button\"\n slColumnManagerPart=\"pin\"\n data-part=\"pin\"\n [slMenuTriggerFor]=\"pinMenu\"\n [attr.aria-label]=\"t('pin', { column: item.column.label })\"\n [attr.data-pinned]=\"item.zone ? '' : null\"\n >\n <span slIcon size=\"sm\"><svg slGlyph name=\"pin\"></svg></span>\n </button>\n <sl-menu #pinMenu size=\"sm\">\n <button\n slMenuItem\n [disabled]=\"item.zone === 'start'\"\n (select)=\"pin(item.id, 'start', $event)\"\n >\n {{ t('pinStart') }}\n </button>\n <button\n slMenuItem\n [disabled]=\"item.zone === 'end'\"\n (select)=\"pin(item.id, 'end', $event)\"\n >\n {{ t('pinEnd') }}\n </button>\n @if (item.zone) {\n <button slMenuItem (select)=\"pin(item.id, null, $event)\">\n {{ t('unpin') }}\n </button>\n }\n </sl-menu>\n </div>\n }\n @if (section.dropAtEnd) {\n <div data-part=\"drop-indicator\" aria-hidden=\"true\"></div>\n }\n </div>\n }\n </div>\n <div data-part=\"footer\">\n <button\n slButton\n slColumnManagerPart=\"show-all\"\n size=\"sm\"\n tone=\"secondary\"\n variant=\"ghost\"\n type=\"button\"\n [disabled]=\"working().hidden.length === 0\"\n (click)=\"showAll($event)\"\n >\n {{ t('showAll') }}\n </button>\n <button\n slButton\n slColumnManagerPart=\"reset\"\n size=\"sm\"\n tone=\"secondary\"\n variant=\"ghost\"\n type=\"button\"\n [disabled]=\"atDefault()\"\n (click)=\"reset($event)\"\n >\n {{ t('reset') }}\n </button>\n @if (confirm()) {\n <button\n slButton\n slColumnManagerPart=\"cancel\"\n size=\"sm\"\n tone=\"secondary\"\n variant=\"outline\"\n type=\"button\"\n (click)=\"cancel($event)\"\n >\n {{ t('cancel') }}\n </button>\n <button\n slButton\n slColumnManagerPart=\"apply\"\n size=\"sm\"\n type=\"button\"\n [disabled]=\"!dirty()\"\n (click)=\"applyDraft($event)\"\n >\n {{ t('apply') }}\n </button>\n }\n </div>\n </div>\n </ng-template>\n `,\n styleUrl: '../../../styles/src/column-manager/column-manager.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[style.display]': \"'contents'\" },\n})\nexport class SlColumnManager {\n /** The grid's columns, as the grid is given them. */\n readonly columns = input.required<readonly GridColumn<never>[]>();\n /** The state; two-way, so a template may bind it directly. */\n readonly columnState = model<GridColumnState | undefined>(undefined);\n /** The start while nothing is bound, and the target of Restore defaults. */\n readonly defaultColumnState = input<Partial<GridColumnState> | undefined>(undefined);\n /**\n * The columns the grid took out for room — the grid's `outOfSpace()`:\n * listed with a status, never written to the state.\n */\n readonly outOfSpace = input<GridOutOfSpace>(NONE_OUT);\n readonly presentation = input<ColumnManagerPresentation | undefined>(undefined);\n readonly apply = input<ColumnManagerApply | undefined>(undefined);\n readonly open = model<boolean>(false);\n /** Words laid over the catalog of the language in force, key by key. */\n readonly messages = input<PartialMessages<ColumnManagerMessages> | undefined>(undefined);\n\n /** Before the state moves, with the reason and every key that moved. */\n readonly columnStateChangeRequest = output<ColumnManagerRequest>();\n /** Before the layer opens or closes, with the reason. */\n readonly openChangeRequest = output<ChangeRequest<boolean>>();\n\n private readonly defaults = injectColumnManagerDefaults();\n private readonly base = inject(SlColumnManagerIdFactory).next();\n readonly rootId = `${this.base}-panel`;\n readonly titleId = `${this.base}-title`;\n\n /** The family's words in the language in force, with this manager's `messages` laid over them. */\n readonly t = injectMessages(columnManagerMessages, this.messages);\n /** What a drag of a column says, in the language in force. */\n private readonly dragT = injectMessages(dragMessages);\n readonly resolvedPresentation = computed(() => this.presentation() ?? this.defaults.presentation);\n readonly resolvedApply = computed(() => this.apply() ?? this.defaults.apply);\n protected readonly confirm = computed(() => this.resolvedApply() === 'confirm');\n\n private readonly normalizedDefault = computed(() =>\n normalizeColumnState(this.defaultColumnState(), this.columns()),\n );\n /** The committed state: the bound one, or the default. */\n readonly state = computed(() =>\n normalizeColumnState(this.columnState() ?? this.defaultColumnState(), this.columns()),\n );\n private readonly draft = signal<GridColumnState | null>(null);\n protected readonly working = computed(() =>\n this.confirm() ? (this.draft() ?? this.state()) : this.state(),\n );\n protected readonly dirty = computed(() => {\n const draft = this.draft();\n return draft !== null && !sameState(draft, this.state());\n });\n protected readonly atDefault = computed(() =>\n sameState(this.working(), this.normalizedDefault()),\n );\n\n /** How many columns the reader hid; the trigger's count. */\n readonly hiddenCount = computed(() => this.state().hidden.length);\n\n readonly query = signal('');\n private readonly searchText = computed(() => searchKey(this.query().trim()));\n protected readonly searching = computed(() => this.searchText() !== '');\n\n private readonly byId = computed(\n () => new Map(this.columns().map((column) => [column.id, column as GridColumn<unknown>])),\n );\n private readonly zones = computed(() => columnZones(this.working()));\n private readonly visibleCount = computed(() => {\n const hidden = new Set(this.working().hidden);\n return this.working().order.filter((id) => !hidden.has(id)).length;\n });\n protected readonly summary = computed(() =>\n this.t('visibleCount', {\n visible: this.visibleCount(),\n total: this.working().order.length,\n }),\n );\n\n protected readonly drag = signal<DragView>(NO_DRAG);\n\n protected readonly sections = computed<SectionView[]>(() => {\n const zones = this.zones();\n const byId = this.byId();\n const hidden = new Set(this.working().hidden);\n const space = new Set(this.outOfSpace().hidden);\n const inRow = new Set(this.outOfSpace().popin);\n const visible = this.visibleCount();\n const text = this.searchText();\n const searching = text !== '';\n const t = this.t;\n const labels = { start: t('pinnedStart'), middle: t('unpinned'), end: t('pinnedEnd') };\n return ZONE_KEYS.map((key) => {\n const items = zones[key]\n .map((id, index) => ({ id, index, column: byId.get(id) }))\n .filter(\n (entry): entry is { id: string; index: number; column: GridColumn<unknown> } =>\n entry.column !== undefined &&\n (!searching ||\n searchKey(entry.column.label).includes(text) ||\n searchKey(entry.column.description ?? '').includes(text)),\n )\n .map(({ id, index, column }) => {\n const isHidden = hidden.has(id);\n const locked = column.hideable === false;\n const bySpace = !isHidden && space.has(id);\n const shownInRow = !isHidden && inRow.has(id);\n return {\n id,\n column,\n index,\n hidden: isHidden,\n locked,\n lastVisible: !isHidden && visible <= 1,\n bySpace,\n handleDisabled: searching || column.reorderable === false,\n status: locked\n ? t('required')\n : bySpace\n ? t('hiddenBySpace')\n : shownInRow\n ? t('inRow')\n : null,\n zone: key === 'middle' ? null : key,\n } satisfies ItemView;\n });\n return {\n key,\n label: labels[key],\n items,\n dropAtEnd: this.dropAt(key, zones[key].length),\n };\n }).filter((section) => section.items.length > 0);\n });\n\n /* ── The trigger ─────────────────────────────────────────────────────── */\n\n readonly triggerNode = signal<HTMLElement | null>(null);\n private readonly popover = viewChild(SlPopover);\n\n /** Called by `slColumnManagerTrigger`. */\n registerTrigger(node: HTMLElement | null) {\n this.triggerNode.set(node);\n }\n\n /* ── The drag ────────────────────────────────────────────────────────── */\n\n private readonly root = viewChild<ElementRef<HTMLDivElement>>('root');\n private controller: DragController | null = null;\n private readonly draggables = new Map<string, { node: HTMLElement; detach: () => void }>();\n private pendingFocus: string | null = null;\n\n constructor() {\n /* The popover hangs from this family's trigger, and a press on it is not\n an outside press. */\n effect(() => {\n const popover = this.popover();\n const trigger = this.triggerNode();\n if (popover) untracked(() => popover.triggerNode.set(trigger));\n });\n\n /* A draft is read when the layer opens, and dropped when it closes. */\n effect(() => {\n if (!this.open()) {\n untracked(() => {\n this.draft.set(null);\n this.query.set('');\n });\n }\n });\n\n effect((onCleanup) => {\n const element = this.root()?.nativeElement;\n if (!element) return;\n const controller = untracked(() => this.createController(element));\n onCleanup(() => {\n controller.destroy();\n this.controller = null;\n for (const entry of this.draggables.values()) entry.detach();\n this.draggables.clear();\n });\n });\n\n afterEveryRender(() => {\n this.syncDraggables();\n const id = this.pendingFocus;\n const element = this.root()?.nativeElement;\n if (id && element) {\n this.pendingFocus = null;\n element\n .querySelector<HTMLElement>(\n `[data-part=\"item\"][data-column=\"${escapeValue(id)}\"] > [data-part=\"handle\"]`,\n )\n ?.focus();\n }\n });\n\n inject(DestroyRef).onDestroy(() => this.controller?.destroy());\n }\n\n private createController(element: HTMLElement): DragController {\n const document = element.ownerDocument;\n const announce = (message: string) => {\n if (message !== '') getLiveAnnouncer(document).announce(message);\n };\n const itemOf = (id: string) =>\n element.querySelector<HTMLElement>(`[data-part=\"item\"][data-column=\"${escapeValue(id)}\"]`);\n const controller = createDragController({\n document,\n preview: false,\n restoreFocus: false,\n autoScroll: { axis: 'y' },\n announce,\n t: this.dragT,\n /* A one-step keyboard move says where the column landed once, below;\n the controller's own step-by-step position would say it twice. */\n silent: ['moved'],\n onDrop: ({ items, source, target, reason, event }) => {\n if (target.kind !== 'between' || target.container !== source.container) return;\n const zone = this.zones()[source.container as ZoneKey];\n const id = items[0]!;\n const to = target.index > source.index ? target.index - 1 : target.index;\n this.edit(\n withColumnMoved(this.working(), id, to, zone),\n reason === 'keyboard' ? 'keyboard' : 'pointer',\n event,\n );\n if (reason === 'keyboard') {\n this.pendingFocus = id;\n const label = this.byId().get(id)?.label ?? id;\n announce(this.t('moved', { column: label, position: to + 1 }));\n }\n },\n });\n for (const key of ZONE_KEYS) {\n controller.registerContainer({\n key,\n items: () => this.zones()[key],\n orientation: 'vertical',\n element: () => element.querySelector(`[data-part=\"section\"][data-zone=\"${key}\"]`),\n itemElement: itemOf,\n accepts: (state: DragState, target) => state.source?.container === target.container,\n disabled: () => this.searching(),\n itemLabel: (id) => this.byId().get(id)?.label ?? id,\n });\n }\n controller.subscribe((next) => {\n if (next.status !== 'dragging' || next.reason === 'keyboard') {\n this.drag.set(NO_DRAG);\n return;\n }\n const target = next.target;\n this.drag.set({\n dragging: next.items[0] ?? null,\n container: target && target.kind === 'between' ? (target.container as ZoneKey) : null,\n index: target && target.kind === 'between' && next.valid ? target.index : null,\n });\n });\n this.controller = controller;\n return controller;\n }\n\n /** Every item is a draggable whose press must start on its handle. */\n private syncDraggables() {\n const controller = this.controller;\n const element = this.root()?.nativeElement;\n if (!controller || !element) return;\n const seen = new Set<string>();\n for (const node of element.querySelectorAll<HTMLElement>('[data-part=\"item\"][data-column]')) {\n const id = node.dataset['column']!;\n const key = node.closest<HTMLElement>('[data-part=\"section\"]')?.dataset['zone'] ?? 'middle';\n seen.add(id);\n const existing = this.draggables.get(id);\n if (existing && existing.node === node && node.dataset['attachedZone'] === key) continue;\n existing?.detach();\n node.dataset['attachedZone'] = key;\n const detach = controller.attachDraggable(node, {\n container: key,\n key: id,\n handle: () => node.querySelector('[data-part=\"handle\"]'),\n disabled: () => this.searching() || this.byId().get(id)?.reorderable === false,\n distance: 4,\n });\n this.draggables.set(id, { node, detach });\n }\n for (const [id, entry] of this.draggables) {\n if (seen.has(id)) continue;\n entry.detach();\n this.draggables.delete(id);\n }\n }\n\n protected dropAt(key: ZoneKey, index: number): boolean {\n const drag = this.drag();\n if (drag.container !== key || drag.index !== index || drag.dragging === null) return false;\n const from = this.zones()[key].indexOf(drag.dragging);\n return index !== from && index !== from + 1;\n }\n\n /* ── Requests ─────────────────────────────────────────────────────────── */\n\n private emit(next: GridColumnState, reason: ColumnManagerColumnReason, source?: unknown) {\n const previous = this.state();\n const changes = columnStateChanges(previous, next);\n if (changes.length === 0) return false;\n let cancelled = false;\n const request: ColumnManagerRequest = {\n value: next,\n previous,\n reason,\n source,\n change: changes[0]!,\n changes,\n get cancelled() {\n return cancelled;\n },\n cancel() {\n cancelled = true;\n },\n };\n this.columnStateChangeRequest.emit(request);\n if (cancelled) return false;\n this.columnState.set(next);\n return true;\n }\n\n private edit(next: GridColumnState, reason: ColumnManagerColumnReason, source?: unknown) {\n if (this.confirm()) this.draft.set(next);\n else this.emit(next, reason, source);\n }\n\n private setOpen(next: boolean, reason: ColumnManagerOpenReason, source?: unknown): boolean {\n if (next === this.open()) return false;\n let cancelled = false;\n const state = createControllable<boolean>({\n initial: this.open(),\n onRequest: (request) => {\n this.openChangeRequest.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, source);\n if (cancelled) return false;\n this.open.set(next);\n return true;\n }\n\n protected onLayerRequest(request: ChangeRequest<boolean>) {\n const moved = this.setOpen(\n request.value,\n request.reason as ColumnManagerOpenReason,\n request.source,\n );\n if (!moved) request.cancel();\n }\n\n protected toggle(id: string, request: ChangeRequest<boolean>) {\n this.edit(\n withColumnHidden(this.working(), id, !request.value),\n request.reason === 'keyboard' ? 'keyboard' : 'pointer',\n request.source,\n );\n }\n\n protected pin(id: string, zone: GridPinZone, event: MenuSelectEvent) {\n this.edit(withColumnPinned(this.working(), id, zone), event.reason, event.source);\n }\n\n protected showAll(event: MouseEvent) {\n this.edit({ ...this.working(), hidden: [] }, pressReason(event), event);\n }\n\n protected reset(event: MouseEvent) {\n this.edit(this.normalizedDefault(), 'clear', event);\n }\n\n protected applyDraft(event: MouseEvent) {\n const draft = this.draft();\n if (draft !== null) this.emit(draft, 'submit', event);\n this.draft.set(null);\n if (this.resolvedPresentation() !== 'inline') this.setOpen(false, pressReason(event), event);\n }\n\n protected cancel(event: MouseEvent) {\n this.draft.set(null);\n if (this.resolvedPresentation() !== 'inline') this.setOpen(false, pressReason(event), event);\n }\n\n protected onHandleKeyDown(event: KeyboardEvent, id: string, key: ZoneKey) {\n if (!event.altKey || (event.key !== 'ArrowUp' && event.key !== 'ArrowDown')) return;\n event.preventDefault();\n if (this.searching() || this.byId().get(id)?.reorderable === false) return;\n const zone = this.zones()[key];\n const index = zone.indexOf(id);\n const up = event.key === 'ArrowUp';\n if ((up && index <= 0) || (!up && index >= zone.length - 1)) return;\n this.controller?.moveBy({\n items: [id],\n source: { container: key, index },\n intent: up ? 'previous' : 'next',\n reason: 'keyboard',\n event,\n });\n }\n\n /* ── The imperative actions ──────────────────────────────────────────── */\n\n /** Opens the layer, with the reason `programmatic`. */\n show() {\n this.setOpen(true, 'programmatic');\n }\n\n /** Closes the layer, with the reason `programmatic`. */\n hide() {\n this.setOpen(false, 'programmatic');\n }\n\n /** Called by the trigger, with the reason of the press. */\n toggleOpen(reason: ColumnManagerOpenReason = 'programmatic', source?: unknown) {\n this.setOpen(!this.open(), reason, source);\n }\n}\n\n/**\n * The consumer's button, wired to a manager: the popup it opens, whether it\n * is open, what it controls, and the count of hidden columns after its words\n * — a chip on screen and a sentence in its accessible name. A directive\n * cannot project, so the two spans are appended to the host once and kept\n * current from the manager's count.\n */\n@Directive({\n selector: '[slColumnManagerTrigger]',\n standalone: true,\n exportAs: 'slColumnManagerTrigger',\n host: {\n 'aria-haspopup': 'dialog',\n 'data-column-manager-trigger': '',\n '[attr.aria-expanded]': 'manager().open()',\n '[attr.aria-controls]': 'manager().open() ? manager().rootId : null',\n '[attr.data-open]': \"manager().open() ? '' : null\",\n '(click)': 'onClick($event)',\n },\n})\nexport class SlColumnManagerTrigger {\n readonly manager = input.required<SlColumnManager>({ alias: 'slColumnManagerTriggerFor' });\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private readonly count = signal<{ chip: HTMLElement; sentence: HTMLElement } | null>(null);\n\n constructor() {\n effect((onCleanup) => {\n const manager = this.manager();\n manager.registerTrigger(this.host);\n onCleanup(() => manager.registerTrigger(null));\n });\n\n /* `slButton` writes `data-part=\"root\"` statically; the part is this family's. */\n afterNextRender(() => {\n this.host.setAttribute('data-part', 'trigger');\n const chip = this.renderer.createElement('span') as HTMLElement;\n chip.setAttribute('data-part', 'count');\n chip.setAttribute('aria-hidden', 'true');\n const sentence = this.renderer.createElement('span') as HTMLElement;\n sentence.setAttribute('data-ui', 'visually-hidden');\n sentence.setAttribute('data-part', 'root');\n this.count.set({ chip, sentence });\n });\n\n effect(() => {\n const nodes = this.count();\n if (!nodes) return;\n const manager = this.manager();\n const hidden = manager.hiddenCount();\n if (hidden === 0) {\n nodes.chip.remove();\n nodes.sentence.remove();\n return;\n }\n nodes.chip.textContent = String(hidden);\n nodes.sentence.textContent = manager.t('hiddenCount', { count: hidden });\n if (!nodes.chip.isConnected) {\n this.host.append(' ', nodes.chip, ' ', nodes.sentence);\n }\n });\n }\n\n protected onClick(event: MouseEvent) {\n if (event.defaultPrevented) return;\n this.manager().toggleOpen(pressReason(event), event);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1449,7 +1449,7 @@ class SlDashboardGrid {
|
|
|
1449
1449
|
</section>
|
|
1450
1450
|
</div>
|
|
1451
1451
|
}
|
|
1452
|
-
`, isInline: true, styles: ["@layer slotted.components{[data-ui=dashboard-grid]{--_gap: var(--slotted-dashboard-grid-gap, var(--slotted-space-6, 1rem));--_row: var(--slotted-dashboard-grid-row-size, 4.5rem);--_cols: var(--_dg-columns-expanded, 12);--_radius: var(--slotted-card-radius, var(--slotted-radius-lg, 8px));--_accent: var(--slotted-dashboard-grid-accent, var(--slotted-tone-accent-solid, Highlight));container:dashboard-grid / inline-size;display:flex;flex-direction:column;gap:var(--_gap);min-inline-size:0}[data-ui=dashboard-grid]>[data-part=grid]{display:grid;gap:var(--_gap);grid-auto-rows:var(--_row);grid-template-columns:repeat(var(--_cols),minmax(0,1fr));list-style:none;margin:0;min-inline-size:0;padding:0;position:relative}[data-ui=dashboard-grid] [data-part=grid][hidden],[data-ui=dashboard-grid] [data-part=widget][hidden]{display:none}[data-ui=dashboard-grid] :is([data-part=widget],[data-part=placeholder]){grid-column:var(--_dg-x, auto) / span var(--_dg-w, 4);grid-row:var(--_dg-y, auto) / span var(--_dg-h, 2);min-block-size:0;min-inline-size:0}[data-ui=dashboard-grid] [data-part=widget]{display:flex;position:relative}@container dashboard-grid (width < 1024px){[data-ui=dashboard-grid]>[data-part=grid]{--_cols: var(--_dg-columns-medium, 6)}[data-ui=dashboard-grid] :is([data-part=widget],[data-part=placeholder]){grid-column:auto / span var(--_dg-span-medium, 3);grid-row:auto / span var(--_dg-h, 2)}}@container dashboard-grid (width < 600px){[data-ui=dashboard-grid]>[data-part=grid]{--_cols: var(--_dg-columns-compact, 1);grid-auto-rows:auto}[data-ui=dashboard-grid] :is([data-part=widget],[data-part=placeholder]){grid-column:1 / -1;grid-row:auto}[data-ui=dashboard-grid] [data-part=placeholder]{min-block-size:calc(var(--_row) * 2)}}[data-ui=dashboard-grid] [data-part=widget]>[data-ui=card]{flex:1 1 auto;min-block-size:0;min-inline-size:0;transition:box-shadow var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=dashboard-grid] [data-part=widget]>[data-ui=card]>[data-part=body]{--slotted-chart-plot-block-size: calc(var(--_row) * 1.5);display:flex;flex-direction:column;overflow:auto;position:relative}[data-ui=dashboard-grid] [data-part=widget]>[data-ui=card]>[data-part=body]>:not([data-part=busy-indicator]){flex:1 0 auto}[data-ui=dashboard-grid] [data-part=widget] [data-part=title]{-webkit-box-orient:vertical;color:var(--slotted-dashboard-grid-title-color, var(--slotted-text, CanvasText));display:-webkit-box;font-family:var( --slotted-dashboard-grid-title-font-family, var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) ) );font-size:var( --slotted-dashboard-grid-title-font-size, var(--slotted-font-size-md, .8125rem) );font-weight:var(--slotted-font-weight-semibold, 600);-webkit-line-clamp:2;line-clamp:2;line-height:var(--slotted-line-height-md, 1.5);margin:0;overflow:hidden;overflow-wrap:anywhere}[data-ui=dashboard-grid] [data-part=widget] [data-part=description]{color:var(--slotted-dashboard-grid-description-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-sm, .75rem);line-height:var(--slotted-line-height-sm, 1.5);margin:0;overflow-wrap:anywhere}[data-ui=dashboard-grid] [data-part=widget] [data-part=actions]{flex-wrap:nowrap;gap:var(--slotted-space-1, .125rem);margin-block:calc((var(--slotted-control-height-sm, 1.75rem) - var(--slotted-font-size-md, .8125rem) * var(--slotted-line-height-md, 1.5)) / -2)}[data-ui=dashboard-grid] [data-part=widget] [data-part=skeleton]{display:flex;flex-direction:column;min-block-size:var(--slotted-space-12, 4rem)}[data-ui=dashboard-grid] [data-part=widget] [data-part=skeleton]>[data-ui=skeleton]{block-size:auto;flex:1 1 auto;inline-size:100%}[data-ui=dashboard-grid] [data-part=widget] [data-part=message]{align-content:center;display:grid;justify-items:center}[data-ui=dashboard-grid] [data-part=widget] [data-part=busy-indicator]{background-color:var(--_accent);block-size:var(--slotted-border-width-medium, 2px);inset-block-start:0;inset-inline:0;opacity:.35;pointer-events:none;position:absolute}@media(prefers-reduced-motion:no-preference){[data-ui=dashboard-grid] [data-part=widget] [data-part=busy-indicator]{animation:slotted-dashboard-grid-busy var(--slotted-duration-loop-slow) linear infinite;background-color:transparent;background-image:linear-gradient(to right,transparent,var(--_accent) 50%,transparent);background-repeat:no-repeat;background-size:40% 100%;opacity:1}}@media(prefers-reduced-motion:reduce){[data-ui=dashboard-grid] [data-part=widget] [data-part=busy-indicator]{animation:none}}@keyframes slotted-dashboard-grid-busy{0%{background-position:-40% 0}to{background-position:140% 0}}[data-ui=dashboard-grid]>[data-part=edit-bar]{align-items:center;background-color:var( --slotted-dashboard-grid-edit-bar-background, var(--slotted-surface-raised, Canvas) );border:var(--slotted-border-width-thin, 1px) solid var(--slotted-dashboard-grid-edit-bar-border, var(--slotted-border-subtle, CanvasText));border-radius:var(--_radius);box-shadow:var(--slotted-shadow-xs);display:flex;flex-wrap:wrap;gap:var(--slotted-space-4, .5rem) var(--slotted-space-6, 1rem);padding-block:var(--slotted-space-4, .5rem);padding-inline:var(--slotted-space-6, 1rem) var(--slotted-space-4, .5rem)}@starting-style{[data-ui=dashboard-grid]>[data-part=edit-bar]{opacity:0;translate:0 calc(var(--slotted-space-4, .5rem) * -1)}}[data-ui=dashboard-grid]>[data-part=edit-bar]{transition:opacity var(--slotted-duration-medium) var(--slotted-easing-enter),translate var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=dashboard-grid]>[data-part=edit-bar]>[data-part=edit-status]{color:var(--slotted-text-muted, GrayText);flex:1 1 20rem;font-size:var(--slotted-font-size-sm, .75rem);line-height:var(--slotted-line-height-sm, 1.5);margin:0;min-inline-size:0}[data-ui=dashboard-grid]>[data-part=edit-bar]>[data-part=edit-actions]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-3, .375rem);justify-content:flex-end;margin-inline-start:auto}[data-ui=dashboard-grid]>[data-part=grid]:before{background-image:radial-gradient(circle at calc((100% - var(--_gap)) / 2) calc((100% - var(--_gap)) / 2),var(--slotted-dashboard-grid-lattice-color, var(--slotted-border-strong, currentColor)) var(--slotted-dashboard-grid-lattice-dot, 1.5px),transparent calc(var(--slotted-dashboard-grid-lattice-dot, 1.5px) + .75px));background-size:calc((100% + var(--_gap)) / var(--_cols)) calc(var(--_row) + var(--_gap));content:\"\";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=dashboard-grid][data-editing]>[data-part=grid]{min-block-size:calc(var(--_row) * 2 + var(--_gap))}[data-ui=dashboard-grid][data-editing]>[data-part=grid]:before{opacity:.7}[data-ui=dashboard-grid]>[data-part=grid][data-gesture]:before{opacity:1}@container dashboard-grid (width < 1024px){[data-ui=dashboard-grid]>[data-part=grid]:before{display:none}}[data-ui=dashboard-grid][data-editing] [data-part=widget][data-movable]>[data-ui=card]{cursor:grab}[data-ui=dashboard-grid][data-editing] [data-part=widget][data-movable]>[data-ui=card] :is(a,button,input,select,textarea,[tabindex]){cursor:auto}[data-ui=dashboard-grid][data-editing] [data-part=widget]:not([data-loading]):hover>[data-ui=card]{box-shadow:var(--slotted-shadow-sm)}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]{--_pill-inline: var(--slotted-dashboard-grid-handle-inline-size, 2.25rem);--_pill-block: var(--slotted-dashboard-grid-handle-block-size, 1rem);align-items:center;appearance:none;background-color:var(--slotted-control-surface, Canvas);block-size:var(--_pill-block);border:var(--slotted-border-width-thin, 1px) solid var(--slotted-control-border-color, ButtonBorder);border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-control-shadow);box-sizing:border-box;color:var(--slotted-text-muted, GrayText);cursor:grab;display:flex;font:inherit;inline-size:var(--_pill-inline);inset-block-start:calc(var(--_pill-block) / -2);inset-inline:0;justify-content:center;margin:0 auto;padding:0;position:absolute;touch-action:none;transition:background-color var(--slotted-duration-short) var(--slotted-easing-standard),border-color var(--slotted-duration-short) var(--slotted-easing-standard),color var(--slotted-duration-short) var(--slotted-easing-standard),opacity var(--slotted-duration-medium) var(--slotted-easing-enter),translate var(--slotted-duration-medium) var(--slotted-easing-enter);z-index:2}@starting-style{[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]{opacity:0;translate:0 var(--slotted-space-3, .375rem)}}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]:before{content:\"\";inset:calc((var(--slotted-target-min, 24px) - var(--_pill-block)) / -2) calc(var(--slotted-space-4, .5rem) * -1);position:absolute}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]>[data-ui=icon]{--slotted-icon-size: var(--slotted-dashboard-grid-handle-glyph-size, .875rem)}[data-ui=dashboard-grid][data-editing] [data-part=widget]:not([data-loading]):hover>[data-part=handle]{border-color:var(--slotted-border-strong, ButtonBorder);color:var(--slotted-text, CanvasText)}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=dashboard-grid] [data-part=widget]:is([data-dragging],[data-resizing])>[data-part=handle],[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle][aria-expanded=true]{background-color:var(--_accent);border-color:var(--_accent);color:var(--slotted-tone-accent-on-solid, HighlightText)}[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]{--_hit: var(--slotted-dashboard-grid-resize-hit, .75rem);--_mark: var(--slotted-border-strong, currentColor);opacity:0;position:absolute;touch-action:none;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard);z-index:2}[data-ui=dashboard-grid][data-editing] [data-part=widget]:not([data-loading]):hover>[data-part=resize-handle],[data-ui=dashboard-grid][data-editing] [data-part=widget]:focus-within>[data-part=resize-handle],[data-ui=dashboard-grid] [data-part=widget][data-resizing]>[data-part=resize-handle]{opacity:1}@media(pointer:coarse){[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]{--_hit: var(--slotted-target-comfortable, 44px);opacity:1}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]{--_pill-inline: var(--slotted-dashboard-grid-handle-inline-size-coarse, 2.75rem);--_pill-block: var(--slotted-dashboard-grid-handle-block-size-coarse, 1.25rem)}}[data-ui=dashboard-grid] [data-part=resize-handle]:before{background-color:var(--_mark);border-radius:var(--slotted-radius-full, 9999px);content:\"\";inset:0;margin:auto;position:absolute;transition:background-color var(--slotted-duration-short) var(--slotted-easing-standard),block-size var(--slotted-duration-short) var(--slotted-easing-standard),inline-size var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=start],[data-edge=end]){cursor:ew-resize;inline-size:var(--_hit);inset-block:calc(var(--_radius) + var(--_hit) / 2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=start]{inset-inline-start:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=end]{inset-inline-end:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=start],[data-edge=end]):before{block-size:var(--slotted-dashboard-grid-resize-pill, 1.75rem);inline-size:var(--slotted-border-width-thick, 3px)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom]{block-size:var(--_hit);cursor:ns-resize;inset-block-end:calc(var(--_hit) / -2);inset-inline:calc(var(--_radius) + var(--_hit) / 2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom]:before{block-size:var(--slotted-border-width-thick, 3px);inline-size:var(--slotted-dashboard-grid-resize-pill, 1.75rem)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=bottom-start],[data-edge=bottom-end]){block-size:calc(var(--_hit) * 1.5);inline-size:calc(var(--_hit) * 1.5);inset-block-end:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-end]{cursor:nwse-resize;inset-inline-end:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-start]{cursor:nesw-resize;inset-inline-start:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-end]:dir(rtl){cursor:nesw-resize}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-start]:dir(rtl){cursor:nwse-resize}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=bottom-start],[data-edge=bottom-end]):before{background-color:transparent;block-size:var(--_radius);border-block-end:var(--slotted-border-width-thick, 3px) solid var(--_mark);border-radius:0;inline-size:var(--_radius);inset:auto;inset-block-end:calc(var(--_hit) / 2 - var(--slotted-border-width-thin, 1px));margin:0}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-end]:before{border-end-end-radius:var(--_radius);border-inline-end:var(--slotted-border-width-thick, 3px) solid var(--_mark);inset-inline-end:calc(var(--_hit) / 2 - var(--slotted-border-width-thin, 1px))}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-start]:before{border-end-start-radius:var(--_radius);border-inline-start:var(--slotted-border-width-thick, 3px) solid var(--_mark);inset-inline-start:calc(var(--_hit) / 2 - var(--slotted-border-width-thin, 1px))}[data-ui=dashboard-grid] [data-part=resize-handle]:not([data-disabled]):hover,[data-ui=dashboard-grid] [data-part=resize-handle][data-active]{--_mark: var(--_accent)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=start],[data-edge=end]):is(:not([data-disabled]):hover,[data-active]):before{block-size:var(--slotted-dashboard-grid-resize-pill-active, 2.75rem)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom]:is(:not([data-disabled]):hover,[data-active]):before{inline-size:var(--slotted-dashboard-grid-resize-pill-active, 2.75rem)}@container dashboard-grid (width < 1024px){[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]:is([data-edge=start],[data-edge=bottom-start]){display:none}}@container dashboard-grid (width < 600px){[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]{display:none}}[data-ui=dashboard-grid] [data-part=widget]:is([data-dragging],[data-resizing]){grid-column:auto;grid-row:auto;position:absolute;z-index:3}[data-ui=dashboard-grid] [data-part=widget][data-dragging]{cursor:grabbing}[data-ui=dashboard-grid] [data-part=widget][data-dragging]>[data-ui=card]{box-shadow:var(--slotted-shadow-lg),0 0 0 var(--slotted-border-width-thin, 1px) color-mix(in oklab,var(--_accent) 60%,transparent)}[data-ui=dashboard-grid] [data-part=widget][data-resizing]>[data-ui=card]{box-shadow:var(--slotted-shadow-md),0 0 0 var(--slotted-border-width-thin, 1px) color-mix(in oklab,var(--_accent) 60%,transparent)}[data-ui=dashboard-grid]>[data-part=grid]>[data-part=placeholder]{background-color:color-mix(in oklab,var(--_accent) 10%,transparent);border:var(--slotted-border-width-thin, 1px) solid color-mix(in oklab,var(--_accent) 55%,transparent);border-radius:var(--_radius);box-sizing:border-box;pointer-events:none}[data-ui=dashboard-grid] [data-part=widget]>[data-part=size-readout]{background-color:var(--_accent);border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-shadow-sm);color:var(--slotted-tone-accent-on-solid, HighlightText);font-size:var(--slotted-font-size-xs, .6875rem);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);inset-block-end:var(--slotted-space-5, .75rem);inset-inline-end:var(--slotted-space-5, .75rem);line-height:var(--slotted-line-height-xs, 1.4);padding-block:var(--slotted-space-1, .125rem);padding-inline:var(--slotted-space-4, .5rem);pointer-events:none;position:absolute;white-space:nowrap;z-index:4}[data-ui=dashboard-grid] [data-part=widget]>[data-part=size-readout][data-edge=start],[data-ui=dashboard-grid] [data-part=widget]>[data-part=size-readout][data-edge=bottom-start]{inset-inline:var(--slotted-space-5, .75rem) auto}[data-ui=dashboard-grid]>[data-part=empty]{min-block-size:calc(var(--_row) * 2 + var(--_gap))}}@property --_dg-x{syntax: \"*\"; inherits: false;}@property --_dg-y{syntax: \"*\"; inherits: false;}@property --_dg-w{syntax: \"*\"; inherits: false;}@property --_dg-h{syntax: \"*\"; inherits: false;}@property --_dg-span-medium{syntax: \"*\"; inherits: false;}\n", "@layer slotted.components{[data-ui=visually-hidden]:not([data-focusable]:focus-within){block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;inset-block-start:0;inset-inline-start:0;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlButton, selector: "button[slButton]", inputs: ["disabled", "focusableWhenDisabled", "fullWidth", "justify", "loading", "loadingDelay", "messages", "size", "tone", "type", "variant"], exportAs: ["slButton"] }, { kind: "component", type: SlButtonStart, selector: "[slButtonStart]", exportAs: ["slButtonStart"] }, { kind: "component", type: SlCard, selector: "[slCard]", inputs: ["orientation", "fill", "size", "selected", "disabled"], exportAs: ["slCard"] }, { kind: "directive", type: SlCardActions, selector: "[slCardActions]", exportAs: ["slCardActions"] }, { kind: "directive", type: SlCardBody, selector: "[slCardBody]", exportAs: ["slCardBody"] }, { kind: "directive", type: SlCardFooter, selector: "[slCardFooter]", exportAs: ["slCardFooter"] }, { kind: "directive", type: SlCardHeader, selector: "[slCardHeader]", exportAs: ["slCardHeader"] }, { kind: "directive", type: SlDashboardPart, selector: "[slDashboardPart]", inputs: ["slDashboardPart"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlIconButton, selector: "button[slIconButton]", inputs: ["disabled", "focusableWhenDisabled", "loading", "loadingDelay", "messages", "shape", "size", "tone", "type", "variant", "pressed", "defaultPressed"], outputs: ["pressedChange"], exportAs: ["slIconButton"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "component", type: SlMenuItem, selector: "button[slMenuItem], a[slMenuItem], button[slMenuCheckboxItem], button[slMenuRadioItem]", inputs: ["disabled", "textValue", "tone", "shortcut", "closeOnSelect", "value", "checked"], outputs: ["checkedChange", "checkedChangeRequest", "select"], exportAs: ["slMenuItem"] }, { kind: "directive", type: SlMenuSeparator, selector: "hr[slMenuSeparator]" }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }, { kind: "component", type: SlResultState, selector: "[slResultState]", inputs: ["status", "reach", "align", "live", "illustration"], exportAs: ["slResultState"] }, { kind: "directive", type: SlResultStateActions, selector: "[slResultStateActions]", exportAs: ["slResultStateActions"] }, { kind: "directive", type: SlResultStateContent, selector: "[slResultStateContent]", exportAs: ["slResultStateContent"] }, { kind: "directive", type: SlResultStateDescription, selector: "[slResultStateDescription]", exportAs: ["slResultStateDescription"] }, { kind: "component", type: SlResultStateTitle, selector: "[slResultStateTitle]", exportAs: ["slResultStateTitle"] }, { kind: "component", type: SlSkeleton, selector: "[slSkeleton]", inputs: ["shape", "size", "animation", "loading", "inlineSize", "blockSize"], exportAs: ["slSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1452
|
+
`, isInline: true, styles: ["@layer slotted.components{[data-ui=dashboard-grid]{--_gap: var(--slotted-dashboard-grid-gap, var(--slotted-space-6, 1rem));--_row: var(--slotted-dashboard-grid-row-size, 4.5rem);--_cols: var(--_dg-columns-expanded, 12);--_radius: var(--slotted-card-radius, var(--slotted-radius-lg, 8px));--_accent: var(--slotted-dashboard-grid-accent, var(--slotted-tone-accent-solid, Highlight));container:dashboard-grid / inline-size;display:flex;flex-direction:column;gap:var(--_gap);min-inline-size:0}[data-ui=dashboard-grid]>[data-part=grid]{display:grid;gap:var(--_gap);grid-auto-rows:var(--_row);grid-template-columns:repeat(var(--_cols),minmax(0,1fr));list-style:none;margin:0;min-inline-size:0;padding:0;position:relative}[data-ui=dashboard-grid] [data-part=grid][hidden],[data-ui=dashboard-grid] [data-part=widget][hidden]{display:none}[data-ui=dashboard-grid] :is([data-part=widget],[data-part=placeholder]){grid-column:var(--_dg-x, auto) / span var(--_dg-w, 4);grid-row:var(--_dg-y, auto) / span var(--_dg-h, 2);min-block-size:0;min-inline-size:0}[data-ui=dashboard-grid] [data-part=widget]{display:flex;position:relative}@container dashboard-grid (width < 1024px){[data-ui=dashboard-grid]>[data-part=grid]{--_cols: var(--_dg-columns-medium, 6)}[data-ui=dashboard-grid] :is([data-part=widget],[data-part=placeholder]){grid-column:auto / span var(--_dg-span-medium, 3);grid-row:auto / span var(--_dg-h, 2)}}@container dashboard-grid (width < 600px){[data-ui=dashboard-grid]>[data-part=grid]{--_cols: var(--_dg-columns-compact, 1);grid-auto-rows:auto}[data-ui=dashboard-grid] :is([data-part=widget],[data-part=placeholder]){grid-column:1 / -1;grid-row:auto}[data-ui=dashboard-grid] [data-part=placeholder]{min-block-size:calc(var(--_row) * 2)}}[data-ui=dashboard-grid] [data-part=widget]>[data-ui=card]{flex:1 1 auto;min-block-size:0;min-inline-size:0;transition:box-shadow var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=dashboard-grid] [data-part=widget]>[data-ui=card]>[data-part=body]{--slotted-chart-plot-block-size: calc(var(--_row) * 1.5);display:flex;flex-direction:column;overflow:auto;position:relative}[data-ui=dashboard-grid] [data-part=widget]>[data-ui=card]>[data-part=body]>:not([data-part=busy-indicator]){flex:1 0 auto}[data-ui=dashboard-grid] [data-part=widget] [data-part=title]{-webkit-box-orient:vertical;color:var(--slotted-dashboard-grid-title-color, var(--slotted-text, CanvasText));display:-webkit-box;font-family:var( --slotted-dashboard-grid-title-font-family, var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) ) );font-size:var( --slotted-dashboard-grid-title-font-size, var(--slotted-font-size-md, .8125rem) );font-weight:var(--slotted-font-weight-semibold, 600);-webkit-line-clamp:2;line-clamp:2;line-height:var(--slotted-line-height-md, 1.5);margin:0;overflow:hidden;overflow-wrap:anywhere}[data-ui=dashboard-grid] [data-part=widget] [data-part=description]{color:var(--slotted-dashboard-grid-description-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-font-size-sm, .75rem);line-height:var(--slotted-line-height-sm, 1.5);margin:0;overflow-wrap:anywhere}[data-ui=dashboard-grid] [data-part=widget] [data-part=actions]{flex-wrap:nowrap;gap:var(--slotted-space-1, .125rem);margin-block:calc((var(--slotted-control-height-sm, 1.75rem) - var(--slotted-font-size-md, .8125rem) * var(--slotted-line-height-md, 1.5)) / -2)}[data-ui=dashboard-grid] [data-part=widget] [data-part=skeleton]{display:flex;flex-direction:column;min-block-size:var(--slotted-space-12, 4rem)}[data-ui=dashboard-grid] [data-part=widget] [data-part=skeleton]>[data-ui=skeleton]{block-size:auto;flex:1 1 auto;inline-size:100%}[data-ui=dashboard-grid] [data-part=widget] [data-part=message]{align-content:center;display:grid;justify-items:center}[data-ui=dashboard-grid] [data-part=widget] [data-part=busy-indicator]{background-color:var(--_accent);block-size:var(--slotted-border-width-medium, 2px);inset-block-start:0;inset-inline:0;opacity:.35;pointer-events:none;position:absolute}@media(prefers-reduced-motion:no-preference){[data-ui=dashboard-grid] [data-part=widget] [data-part=busy-indicator]{animation:slotted-dashboard-grid-busy var(--slotted-duration-loop-slow) linear infinite;background-color:transparent;background-image:linear-gradient(to right,transparent,var(--_accent) 50%,transparent);background-repeat:no-repeat;background-size:40% 100%;opacity:1}}@media(prefers-reduced-motion:reduce){[data-ui=dashboard-grid] [data-part=widget] [data-part=busy-indicator]{animation:none}}@keyframes slotted-dashboard-grid-busy{0%{background-position:-40% 0}to{background-position:140% 0}}[data-ui=dashboard-grid]>[data-part=edit-bar]{align-items:center;background-color:var( --slotted-dashboard-grid-edit-bar-background, var(--slotted-surface-raised, Canvas) );border:var(--slotted-border-width-thin, 1px) solid var(--slotted-dashboard-grid-edit-bar-border, var(--slotted-border-subtle, CanvasText));border-radius:var(--_radius);box-shadow:var(--slotted-shadow-xs);display:flex;flex-wrap:wrap;gap:var(--slotted-space-4, .5rem) var(--slotted-space-6, 1rem);padding-block:var(--slotted-space-4, .5rem);padding-inline:var(--slotted-space-6, 1rem) var(--slotted-space-4, .5rem)}@starting-style{[data-ui=dashboard-grid]>[data-part=edit-bar]{opacity:0;translate:0 calc(var(--slotted-space-4, .5rem) * -1)}}[data-ui=dashboard-grid]>[data-part=edit-bar]{transition:opacity var(--slotted-duration-medium) var(--slotted-easing-enter),translate var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=dashboard-grid]>[data-part=edit-bar]>[data-part=edit-status]{color:var(--slotted-text-muted, GrayText);flex:1 1 20rem;font-size:var(--slotted-font-size-sm, .75rem);line-height:var(--slotted-line-height-sm, 1.5);margin:0;min-inline-size:0}[data-ui=dashboard-grid]>[data-part=edit-bar]>[data-part=edit-actions]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-3, .375rem);justify-content:flex-end;margin-inline-start:auto}[data-ui=dashboard-grid]>[data-part=grid]:before{background-image:radial-gradient(circle at calc((100% - var(--_gap)) / 2) calc((100% - var(--_gap)) / 2),var(--slotted-dashboard-grid-lattice-color, var(--slotted-border-strong, currentColor)) var(--slotted-dashboard-grid-lattice-dot, 1.5px),transparent calc(var(--slotted-dashboard-grid-lattice-dot, 1.5px) + .75px));background-size:calc((100% + var(--_gap)) / var(--_cols)) calc(var(--_row) + var(--_gap));content:\"\";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=dashboard-grid][data-editing]>[data-part=grid]{min-block-size:calc(var(--_row) * 2 + var(--_gap))}[data-ui=dashboard-grid][data-editing]>[data-part=grid]:before{opacity:.7}[data-ui=dashboard-grid]>[data-part=grid][data-gesture]:before{opacity:1}@container dashboard-grid (width < 1024px){[data-ui=dashboard-grid]>[data-part=grid]:before{display:none}}[data-ui=dashboard-grid][data-editing] [data-part=widget][data-movable]>[data-ui=card]{cursor:grab}[data-ui=dashboard-grid][data-editing] [data-part=widget][data-movable]>[data-ui=card] :is(a,button,input,select,textarea,[tabindex]){cursor:auto}[data-ui=dashboard-grid][data-editing] [data-part=widget]:not([data-loading]):hover>[data-ui=card]{box-shadow:var(--slotted-shadow-sm)}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]{--_pill-inline: var(--slotted-dashboard-grid-handle-inline-size, 2.25rem);--_pill-block: var(--slotted-dashboard-grid-handle-block-size, 1rem);align-items:center;appearance:none;background-color:var(--slotted-control-surface, Canvas);block-size:var(--_pill-block);border:var(--slotted-border-width-thin, 1px) solid var(--slotted-control-border-color, ButtonBorder);border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-control-shadow);box-sizing:border-box;color:var(--slotted-text-muted, GrayText);cursor:grab;display:flex;font:inherit;inline-size:var(--_pill-inline);inset-block-start:calc(var(--_pill-block) / -2);inset-inline:0;justify-content:center;margin:0 auto;padding:0;position:absolute;touch-action:none;transition:background-color var(--slotted-duration-short) var(--slotted-easing-standard),border-color var(--slotted-duration-short) var(--slotted-easing-standard),color var(--slotted-duration-short) var(--slotted-easing-standard),opacity var(--slotted-duration-medium) var(--slotted-easing-enter),translate var(--slotted-duration-medium) var(--slotted-easing-enter);z-index:2}@starting-style{[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]{opacity:0;translate:0 var(--slotted-space-3, .375rem)}}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]:before{content:\"\";inset:calc((var(--slotted-target-min, 24px) - var(--_pill-block)) / -2) calc(var(--slotted-space-4, .5rem) * -1);position:absolute}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]>[data-ui=icon]{--slotted-icon-size: var(--slotted-dashboard-grid-handle-glyph-size, .875rem)}[data-ui=dashboard-grid][data-editing] [data-part=widget]:not([data-loading]):hover>[data-part=handle]{border-color:var(--slotted-border-strong, ButtonBorder);color:var(--slotted-text, CanvasText)}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=dashboard-grid] [data-part=widget]:is([data-dragging],[data-resizing])>[data-part=handle],[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle][aria-expanded=true]{background-color:var(--_accent);border-color:var(--_accent);color:var(--slotted-tone-accent-on-solid, HighlightText)}[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]{--_hit: var(--slotted-dashboard-grid-resize-hit, .75rem);--_mark: var(--slotted-border-strong, currentColor);opacity:0;position:absolute;touch-action:none;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard);z-index:2}[data-ui=dashboard-grid][data-editing] [data-part=widget]:not([data-loading]):hover>[data-part=resize-handle],[data-ui=dashboard-grid][data-editing] [data-part=widget]:focus-within>[data-part=resize-handle],[data-ui=dashboard-grid] [data-part=widget][data-resizing]>[data-part=resize-handle]{opacity:1}@media(pointer:coarse){[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]{--_hit: var(--slotted-target-comfortable, 44px);opacity:1}[data-ui=dashboard-grid] [data-part=widget]>[data-part=handle]{--_pill-inline: var(--slotted-dashboard-grid-handle-inline-size-coarse, 2.75rem);--_pill-block: var(--slotted-dashboard-grid-handle-block-size-coarse, 1.25rem)}}[data-ui=dashboard-grid] [data-part=resize-handle]:before{background-color:var(--_mark);border-radius:var(--slotted-radius-full, 9999px);content:\"\";inset:0;margin:auto;position:absolute;transition:background-color var(--slotted-duration-short) var(--slotted-easing-standard),block-size var(--slotted-duration-short) var(--slotted-easing-standard),inline-size var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=start],[data-edge=end]){cursor:ew-resize;inline-size:var(--_hit);inset-block:calc(var(--_radius) + var(--_hit) / 2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=start]{inset-inline-start:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=end]{inset-inline-end:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=start],[data-edge=end]):before{block-size:var(--slotted-dashboard-grid-resize-pill, 1.75rem);inline-size:var(--slotted-border-width-thick, 3px)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom]{block-size:var(--_hit);cursor:ns-resize;inset-block-end:calc(var(--_hit) / -2);inset-inline:calc(var(--_radius) + var(--_hit) / 2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom]:before{block-size:var(--slotted-border-width-thick, 3px);inline-size:var(--slotted-dashboard-grid-resize-pill, 1.75rem)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=bottom-start],[data-edge=bottom-end]){block-size:calc(var(--_hit) * 1.5);inline-size:calc(var(--_hit) * 1.5);inset-block-end:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-end]{cursor:nwse-resize;inset-inline-end:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-start]{cursor:nesw-resize;inset-inline-start:calc(var(--_hit) / -2)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-end]:dir(rtl){cursor:nesw-resize}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-start]:dir(rtl){cursor:nwse-resize}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=bottom-start],[data-edge=bottom-end]):before{background-color:transparent;block-size:var(--_radius);border-block-end:var(--slotted-border-width-thick, 3px) solid var(--_mark);border-radius:0;inline-size:var(--_radius);inset:auto;inset-block-end:calc(var(--_hit) / 2 - var(--slotted-border-width-thin, 1px));margin:0}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-end]:before{border-end-end-radius:var(--_radius);border-inline-end:var(--slotted-border-width-thick, 3px) solid var(--_mark);inset-inline-end:calc(var(--_hit) / 2 - var(--slotted-border-width-thin, 1px))}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom-start]:before{border-end-start-radius:var(--_radius);border-inline-start:var(--slotted-border-width-thick, 3px) solid var(--_mark);inset-inline-start:calc(var(--_hit) / 2 - var(--slotted-border-width-thin, 1px))}[data-ui=dashboard-grid] [data-part=resize-handle]:not([data-disabled]):hover,[data-ui=dashboard-grid] [data-part=resize-handle][data-active]{--_mark: var(--_accent)}[data-ui=dashboard-grid] [data-part=resize-handle]:is([data-edge=start],[data-edge=end]):is(:not([data-disabled]):hover,[data-active]):before{block-size:var(--slotted-dashboard-grid-resize-pill-active, 2.75rem)}[data-ui=dashboard-grid] [data-part=resize-handle][data-edge=bottom]:is(:not([data-disabled]):hover,[data-active]):before{inline-size:var(--slotted-dashboard-grid-resize-pill-active, 2.75rem)}@container dashboard-grid (width < 1024px){[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]:is([data-edge=start],[data-edge=bottom-start]){display:none}}@container dashboard-grid (width < 600px){[data-ui=dashboard-grid] [data-part=widget]>[data-part=resize-handle]{display:none}}[data-ui=dashboard-grid] [data-part=widget]:is([data-dragging],[data-resizing]){grid-column:auto;grid-row:auto;position:absolute;z-index:3}[data-ui=dashboard-grid] [data-part=widget][data-dragging]{cursor:grabbing}[data-ui=dashboard-grid] [data-part=widget][data-dragging]>[data-ui=card]{box-shadow:var(--slotted-shadow-lg),0 0 0 var(--slotted-border-width-thin, 1px) color-mix(in oklab,var(--_accent) 60%,transparent)}[data-ui=dashboard-grid] [data-part=widget][data-resizing]>[data-ui=card]{box-shadow:var(--slotted-shadow-md),0 0 0 var(--slotted-border-width-thin, 1px) color-mix(in oklab,var(--_accent) 60%,transparent)}[data-ui=dashboard-grid]>[data-part=grid]>[data-part=placeholder]{background-color:color-mix(in oklab,var(--_accent) 10%,transparent);border:var(--slotted-border-width-thin, 1px) solid color-mix(in oklab,var(--_accent) 55%,transparent);border-radius:var(--_radius);box-sizing:border-box;pointer-events:none}[data-ui=dashboard-grid] [data-part=widget]>[data-part=size-readout]{background-color:var(--_accent);border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-shadow-sm);color:var(--slotted-tone-accent-on-solid, HighlightText);font-size:var(--slotted-font-size-xs, .6875rem);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);inset-block-end:var(--slotted-space-5, .75rem);inset-inline-end:var(--slotted-space-5, .75rem);line-height:var(--slotted-line-height-xs, 1.4);padding-block:var(--slotted-space-1, .125rem);padding-inline:var(--slotted-space-4, .5rem);pointer-events:none;position:absolute;white-space:nowrap;z-index:4}[data-ui=dashboard-grid] [data-part=widget]>[data-part=size-readout][data-edge=start],[data-ui=dashboard-grid] [data-part=widget]>[data-part=size-readout][data-edge=bottom-start]{inset-inline:var(--slotted-space-5, .75rem) auto}[data-ui=dashboard-grid]>[data-part=empty]{min-block-size:calc(var(--_row) * 2 + var(--_gap))}}@property --_dg-x{syntax: \"*\"; inherits: false;}@property --_dg-y{syntax: \"*\"; inherits: false;}@property --_dg-w{syntax: \"*\"; inherits: false;}@property --_dg-h{syntax: \"*\"; inherits: false;}@property --_dg-span-medium{syntax: \"*\"; inherits: false;}\n", "@layer slotted.components{[data-ui=visually-hidden]:not([data-focusable]:focus-within){block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;inset-block-start:0;inset-inline-start:0;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlButton, selector: "button[slButton]", inputs: ["disabled", "focusableWhenDisabled", "fullWidth", "justify", "loading", "loadingDelay", "messages", "size", "tone", "type", "variant"], exportAs: ["slButton"] }, { kind: "component", type: SlButtonStart, selector: "[slButtonStart]", exportAs: ["slButtonStart"] }, { kind: "component", type: SlCard, selector: "[slCard]", inputs: ["orientation", "fill", "size", "selected", "disabled"], exportAs: ["slCard"] }, { kind: "directive", type: SlCardActions, selector: "[slCardActions]", exportAs: ["slCardActions"] }, { kind: "directive", type: SlCardBody, selector: "[slCardBody]", exportAs: ["slCardBody"] }, { kind: "directive", type: SlCardFooter, selector: "[slCardFooter]", exportAs: ["slCardFooter"] }, { kind: "directive", type: SlCardHeader, selector: "[slCardHeader]", exportAs: ["slCardHeader"] }, { kind: "directive", type: SlDashboardPart, selector: "[slDashboardPart]", inputs: ["slDashboardPart"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlIconButton, selector: "button[slIconButton]", inputs: ["disabled", "focusableWhenDisabled", "loading", "loadingDelay", "messages", "shape", "size", "tone", "type", "variant", "pressed", "defaultPressed"], outputs: ["pressedChange"], exportAs: ["slIconButton"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "width", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "component", type: SlMenuItem, selector: "button[slMenuItem], a[slMenuItem], button[slMenuCheckboxItem], button[slMenuRadioItem]", inputs: ["disabled", "textValue", "tone", "shortcut", "closeOnSelect", "value", "checked"], outputs: ["checkedChange", "checkedChangeRequest", "select"], exportAs: ["slMenuItem"] }, { kind: "directive", type: SlMenuSeparator, selector: "hr[slMenuSeparator]" }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }, { kind: "component", type: SlResultState, selector: "[slResultState]", inputs: ["status", "reach", "align", "live", "illustration"], exportAs: ["slResultState"] }, { kind: "directive", type: SlResultStateActions, selector: "[slResultStateActions]", exportAs: ["slResultStateActions"] }, { kind: "directive", type: SlResultStateContent, selector: "[slResultStateContent]", exportAs: ["slResultStateContent"] }, { kind: "directive", type: SlResultStateDescription, selector: "[slResultStateDescription]", exportAs: ["slResultStateDescription"] }, { kind: "component", type: SlResultStateTitle, selector: "[slResultStateTitle]", exportAs: ["slResultStateTitle"] }, { kind: "component", type: SlSkeleton, selector: "[slSkeleton]", inputs: ["shape", "size", "animation", "loading", "inlineSize", "blockSize"], exportAs: ["slSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1453
1453
|
}
|
|
1454
1454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlDashboardGrid, decorators: [{
|
|
1455
1455
|
type: Component,
|