ids-enterprise-wc 1.15.9-patch.15 → 1.15.9-patch.17
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/chunks/{ids-chunk-55BKFJ74-full.js → ids-chunk-A3SIMVC4-full.js} +10 -6
- package/chunks/{ids-chunk-55BKFJ74-full.js.map → ids-chunk-A3SIMVC4-full.js.map} +2 -2
- package/chunks/{ids-chunk-MPM4WSFS-full.js → ids-chunk-ETJKDQAM-full.js} +2 -2
- package/chunks/{ids-chunk-SZQQA2OO-full.js → ids-chunk-GHWD4TOS-full.js} +3 -3
- package/chunks/ids-chunk-GHWD4TOS-full.js.map +7 -0
- package/chunks/{ids-chunk-JW7OJNH5-full.js → ids-chunk-GL7SUNG4-full.js} +2 -2
- package/chunks/{ids-chunk-VES77P3L-full.js → ids-chunk-QQ742HQ7-full.js} +25 -9
- package/chunks/ids-chunk-QQ742HQ7-full.js.map +7 -0
- package/chunks/{ids-chunk-FBCH7PA2-full.js → ids-chunk-WCEYHKG2-full.js} +61 -16
- package/chunks/ids-chunk-WCEYHKG2-full.js.map +7 -0
- package/components/ids-accordion/ids-accordion.css +93 -9
- package/components/ids-calendar/ids-calendar.css +265 -190
- package/components/ids-calendar/ids-calendar.js +1 -1
- package/components/ids-checkbox/ids-checkbox.css +7 -580
- package/components/ids-data-grid/ids-data-grid-cell.js +1 -1
- package/components/ids-data-grid/ids-data-grid-editors.js +1 -1
- package/components/ids-data-grid/ids-data-grid-filters.js +3 -3
- package/components/ids-data-grid/ids-data-grid-header.js +1 -1
- package/components/ids-data-grid/ids-data-grid-row.js +2 -2
- package/components/ids-data-grid/ids-data-grid.js +6 -6
- package/components/ids-date-picker/ids-date-picker-popup.js +1 -1
- package/components/ids-date-picker/ids-date-picker.js +1 -1
- package/components/ids-hyperlink/ids-hyperlink.css +15 -188
- package/components/ids-layout-flex/ids-layout-flex.css +69 -6
- package/components/ids-menu/ids-menu.css +3 -337
- package/components/ids-modal/ids-modal.css +23 -94
- package/components/ids-module-nav/ids-module-nav.css +276 -29
- package/components/ids-swappable/ids-swappable.css +84 -19
- package/components/ids-tabs/ids-tabs.css +11 -336
- package/components/ids-tag/ids-tag.css +8 -152
- package/components/ids-toolbar/ids-toolbar.css +122 -12
- package/components/ids-trigger-field/ids-trigger-field.css +1681 -1165
- package/components/ids-week-view/ids-week-view.js +1 -1
- package/custom-elements.json +2850 -2844
- package/enterprise-wc.all.iife.js +88 -26
- package/enterprise-wc.all.iife.js.map +2 -2
- package/enterprise-wc.js +6 -6
- package/package.json +1 -1
- package/vscode.html-custom-data.json +1 -1
- package/chunks/ids-chunk-FBCH7PA2-full.js.map +0 -7
- package/chunks/ids-chunk-SZQQA2OO-full.js.map +0 -7
- package/chunks/ids-chunk-VES77P3L-full.js.map +0 -7
- /package/chunks/{ids-chunk-MPM4WSFS-full.js.map → ids-chunk-ETJKDQAM-full.js.map} +0 -0
- /package/chunks/{ids-chunk-JW7OJNH5-full.js.map → ids-chunk-GL7SUNG4-full.js.map} +0 -0
|
@@ -17,6 +17,9 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
IdsElement
|
|
19
19
|
} from "./ids-chunk-HTOPSMNM-full.js";
|
|
20
|
+
import {
|
|
21
|
+
attributes
|
|
22
|
+
} from "./ids-chunk-HIZPFZUH-full.js";
|
|
20
23
|
import {
|
|
21
24
|
__decorateClass,
|
|
22
25
|
__privateAdd,
|
|
@@ -487,7 +490,7 @@ attachResizeHandlers_fn = function() {
|
|
|
487
490
|
this?.style.setProperty("cursor", "");
|
|
488
491
|
requestAnimationFrame(() => {
|
|
489
492
|
this.dataGrid.isResizing = false;
|
|
490
|
-
columnElem?.parentElement?.querySelectorAll(
|
|
493
|
+
columnElem?.parentElement?.querySelectorAll(`[${attributes.DRAGGABLE}]`).forEach((el) => el.setAttribute(attributes.DRAGGABLE, "true"));
|
|
491
494
|
});
|
|
492
495
|
};
|
|
493
496
|
this.offEvent("mousedown.resize", this);
|
|
@@ -498,7 +501,7 @@ attachResizeHandlers_fn = function() {
|
|
|
498
501
|
}
|
|
499
502
|
x = e.clientX;
|
|
500
503
|
columnElem = target.closest(".ids-data-grid-header-cell");
|
|
501
|
-
columnElem.parentElement?.querySelectorAll(
|
|
504
|
+
columnElem.parentElement?.querySelectorAll(`[${attributes.DRAGGABLE}]`).forEach((el) => el.setAttribute(attributes.DRAGGABLE, "false"));
|
|
502
505
|
const colStyles = window.getComputedStyle(columnElem);
|
|
503
506
|
columnId = columnElem.getAttribute("column-id") || "";
|
|
504
507
|
w = parseInt(colStyles.width, 10);
|
|
@@ -518,27 +521,59 @@ attachReorderHandlers_fn = function() {
|
|
|
518
521
|
let startIndex = 0;
|
|
519
522
|
let dragInitiated = false;
|
|
520
523
|
let dragParent;
|
|
521
|
-
|
|
522
|
-
this.
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
524
|
+
let wasDraggable = false;
|
|
525
|
+
this.offEvent("focusin.reorder", this);
|
|
526
|
+
this.onEvent("focusin.reorder", this, (e) => {
|
|
527
|
+
const target = e.target;
|
|
528
|
+
if (target?.nodeName === "IDS-INPUT") {
|
|
529
|
+
const wrapper = target.parentElement;
|
|
530
|
+
dragParent = wrapper?.parentElement;
|
|
531
|
+
wasDraggable = dragParent?.getAttribute(attributes.DRAGGABLE) === "true";
|
|
532
|
+
if (wasDraggable) {
|
|
533
|
+
dragParent?.setAttribute(attributes.DRAGGABLE, "false");
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
this.offEvent("focusout.reorder", this);
|
|
538
|
+
this.onEvent("focusout.reorder", this, (e) => {
|
|
539
|
+
const target = e.target;
|
|
540
|
+
if (target?.nodeName === "IDS-INPUT") {
|
|
541
|
+
if (wasDraggable) {
|
|
542
|
+
dragParent?.setAttribute(attributes.DRAGGABLE, "true");
|
|
543
|
+
}
|
|
544
|
+
dragParent = null;
|
|
545
|
+
wasDraggable = false;
|
|
527
546
|
}
|
|
528
547
|
});
|
|
529
|
-
this.offEvent("
|
|
530
|
-
this.onEvent("
|
|
531
|
-
|
|
548
|
+
this.offEvent("mouseover.reorder", this);
|
|
549
|
+
this.onEvent("mouseover.reorder", this, (e) => {
|
|
550
|
+
const target = e.target;
|
|
551
|
+
if (target?.closest(".reorderer") && dragParent) {
|
|
552
|
+
if (wasDraggable) {
|
|
553
|
+
dragParent.setAttribute(attributes.DRAGGABLE, "true");
|
|
554
|
+
}
|
|
555
|
+
dragParent = null;
|
|
556
|
+
wasDraggable = false;
|
|
557
|
+
}
|
|
532
558
|
});
|
|
533
559
|
this.offEvent("dragstart.reorder", this);
|
|
534
560
|
this.onEvent("dragstart.reorder", this, (e) => {
|
|
535
|
-
const selection = window.getSelection();
|
|
536
|
-
if (selection && selection.toString().length > 0) {
|
|
537
|
-
return;
|
|
538
|
-
}
|
|
539
561
|
const target = e.target;
|
|
540
562
|
const nodeName = e.target.nodeName;
|
|
541
563
|
if (this.dataGrid.isResizing || !target || nodeName === "IDS-INPUT") return;
|
|
564
|
+
const selection = window.getSelection();
|
|
565
|
+
if (selection && selection.toString().length > 0) {
|
|
566
|
+
if (selection.anchorNode && target.contains(selection.anchorNode)) {
|
|
567
|
+
return;
|
|
568
|
+
}
|
|
569
|
+
selection.removeAllRanges();
|
|
570
|
+
}
|
|
571
|
+
if (target.tagName.includes("TRIGGER-FIELD")) {
|
|
572
|
+
const selectedText = target.input.value.substring(target.input.selectionStart, target.input.selectionEnd);
|
|
573
|
+
if (selectedText.toString().length > 0) {
|
|
574
|
+
return;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
542
577
|
dragInitiated = true;
|
|
543
578
|
target.classList.add("active-drag-column");
|
|
544
579
|
dragger = target.cloneNode(true);
|
|
@@ -601,6 +636,11 @@ attachReorderHandlers_fn = function() {
|
|
|
601
636
|
};
|
|
602
637
|
this.offEvent("dragend.reorder", this);
|
|
603
638
|
this.onEvent("dragend.reorder", this, (e) => {
|
|
639
|
+
if (dragParent && wasDraggable) {
|
|
640
|
+
dragParent.setAttribute(attributes.DRAGGABLE, "true");
|
|
641
|
+
dragParent = null;
|
|
642
|
+
wasDraggable = false;
|
|
643
|
+
}
|
|
604
644
|
if (!dragInitiated) {
|
|
605
645
|
if (e.target?.getAttribute("color-variant") === "alternate-formatter") {
|
|
606
646
|
e.target.style.backgroundColor = "";
|
|
@@ -612,6 +652,11 @@ attachReorderHandlers_fn = function() {
|
|
|
612
652
|
});
|
|
613
653
|
this.offEvent("drop.reorder", this);
|
|
614
654
|
this.onEvent("drop.reorder", this, (e) => {
|
|
655
|
+
if (dragParent && wasDraggable) {
|
|
656
|
+
dragParent.setAttribute(attributes.DRAGGABLE, "true");
|
|
657
|
+
dragParent = null;
|
|
658
|
+
wasDraggable = false;
|
|
659
|
+
}
|
|
615
660
|
if (!dragInitiated) {
|
|
616
661
|
if (e.target?.getAttribute("color-variant") === "alternate-formatter") {
|
|
617
662
|
e.target.style.backgroundColor = "";
|
|
@@ -672,4 +717,4 @@ IdsDataGridHeader = __decorateClass([
|
|
|
672
717
|
export {
|
|
673
718
|
IdsDataGridHeader
|
|
674
719
|
};
|
|
675
|
-
//# sourceMappingURL=ids-chunk-
|
|
720
|
+
//# sourceMappingURL=ids-chunk-WCEYHKG2-full.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/ids-data-grid/ids-data-grid-header.ts"],
|
|
4
|
+
"sourcesContent": ["import { customElement } from '../../core/ids-decorators';\nimport IdsElement from '../../core/ids-element';\nimport IdsEventsMixin from '../../mixins/ids-events-mixin/ids-events-mixin';\nimport { attributes } from '../../core/ids-attributes';\nimport { escapeHTML } from '../../utils/ids-xss-utils/ids-xss-utils';\n\nimport type IdsDataGrid from './ids-data-grid';\nimport type IdsIcon from '../ids-icon/ids-icon';\nimport { IdsDataGridColumn, IdsDataGridColumnGroup } from './ids-data-grid-column';\nimport IdsMenuButton from '../ids-menu-button/ids-menu-button';\n\n@customElement('ids-data-grid-header')\nexport default class IdsDataGridHeader extends IdsEventsMixin(IdsElement) {\n rootNode?: any;\n\n headerCheckbox?: HTMLElement;\n\n columnCheckbox?: NodeListOf<HTMLInputElement>;\n\n /**\n * Tracks the state of the header expander\n */\n isHeaderExpanderCollapsed = false;\n\n #activeColumn: number = -1;\n\n constructor() {\n super({ noShadowRoot: true });\n this.state = {\n headerMenuData: null\n };\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.#attachEventHandlers();\n }\n\n /**\n * Reference to the data grid parent\n * @returns {IdsDataGrid} the data grid parent\n */\n get dataGrid() {\n if (!this.rootNode) this.rootNode = (this.getRootNode() as any).host;\n return (this.rootNode) as IdsDataGrid;\n }\n\n /* Returns all the ids-icon.header-expander elements in an array */\n get expanderIcons(): IdsIcon[] {\n return [...this.querySelectorAll<IdsIcon>('ids-icon.header-expander')];\n }\n\n /**\n * Get the index of the active column.\n * @returns {number} the index of the active column. Returns -1 if there are none.\n */\n get activeColumn(): number {\n return this.#activeColumn;\n }\n\n /** @see IdsDataGridHeader.columns */\n #columns?: HTMLElement[];\n\n /* Returns all the columns in the header */\n get columns(): HTMLElement[] {\n if (!this.#columns?.length) {\n this.#columns = [...this.querySelectorAll<HTMLElement>('.ids-data-grid-header-cell')];\n }\n return this.#columns;\n }\n\n /**\n * Returns all the columns in the header\n * @see IdsDataGridCell.isOnScreen()\n * @returns {HTMLElement[]} array of onscreen header columns\n */\n get columnsOnscreen(): HTMLElement[] {\n return [...this.querySelectorAll<HTMLElement>('.ids-data-grid-header-cell[column-onscreen]')];\n }\n\n /**\n * Handle all header related events\n * @private\n */\n #attachEventHandlers() {\n this.#attachSelectionHandler();\n this.#attachSortHandler();\n this.#attachResizeHandlers();\n this.#attachReorderHandlers();\n this.#attachFilterBtnHandler();\n this.#attachFocusHandlers();\n }\n\n /**\n * Attach handlers to sort via clicking the headers\n * @private\n */\n #attachSortHandler() {\n this.offEvent('click.sort', this);\n this.onEvent('click.sort', this, (e: any) => {\n // Dont sort on resize\n if (this.dataGrid?.isResizing) {\n this.dataGrid.isResizing = false;\n return;\n }\n\n if (this.dataGrid?.isSelecting) {\n this.dataGrid.isSelecting = false;\n return;\n }\n\n // Expander collapse/expand all expandable or tree rows\n if (e.target?.classList?.contains('header-expander')) {\n const isColumnHeaderExpander = e.target?.closest('.column-header-expander');\n if (!isColumnHeaderExpander && !this.dataGrid?.showHeaderExpander) return;\n\n const wasHeaderExpanderCollapsed = this.isHeaderExpanderCollapsed;\n this.isHeaderExpanderCollapsed = !wasHeaderExpanderCollapsed;\n\n if (wasHeaderExpanderCollapsed) {\n this.dataGrid.expandAll();\n } else {\n this.dataGrid.collapseAll();\n }\n return;\n }\n\n const sortableHeaderCell = e.target.closest('.is-sortable')?.closest('.ids-data-grid-header-cell');\n if (!sortableHeaderCell) return;\n const id = sortableHeaderCell.getAttribute('column-id');\n const state = sortableHeaderCell.getAttribute('aria-sort') !== 'ascending';\n\n if (!this.dataGrid.disableClientSort) {\n this.dataGrid?.setSortColumn(id, state);\n } else {\n this.dataGrid?.setSortState(id, state, true);\n }\n\n this.dataGrid?.updateSelectionBorder(true);\n this.dataGrid?.updateSelectedCells();\n });\n }\n\n /**\n * Attach handlers to sort via clicking the headers\n * @private\n */\n #attachSelectionHandler() {\n // Select all/deselect all\n this.headerCheckbox = <HTMLElement> this.querySelector('ids-data-grid-header .ids-data-grid-checkbox-container .ids-data-grid-checkbox');\n this.offEvent('click.select', this.headerCheckbox);\n this.onEvent('click.select', this.headerCheckbox, (e: any) => {\n if (e.target.classList.contains('checked') || e.target.classList.contains('indeterminate')) {\n this.dataGrid?.deSelectAllRows();\n } else {\n this.dataGrid?.selectAllRows();\n }\n });\n\n // Select column\n this.columnCheckbox = this.querySelectorAll<HTMLInputElement>('ids-data-grid-header .ids-data-grid-header-text .ids-checkbox input');\n for (let i = 0; i < this.columnCheckbox.length; i++) {\n this.offEvent('click', this.columnCheckbox[i]);\n this.onEvent('click', this.columnCheckbox[i], () => {\n const isSelect = this.columnCheckbox![i].checked;\n this.dataGrid.isSelecting = true;\n\n if (isSelect) {\n this.dataGrid?.selectColumn(i);\n } else {\n this.dataGrid?.deSelectColumn(i);\n }\n });\n }\n }\n\n /**\n * Establish Drag handlers for resize\n * Based on https://htmldom.dev/resize-columns-of-a-table/\n * @private\n */\n #attachResizeHandlers() {\n // Track the current position of mouse\n let x = 0;\n let w = 0;\n let columnId = '';\n let columnElem: HTMLElement;\n\n const mouseMoveHandler = (e: MouseEvent) => {\n e.preventDefault();\n // Determine how far the mouse has been moved\n const dx = e.clientX - x;\n\n // Check if this is the last column\n const isLastColumn = this.dataGrid?.columns[this.dataGrid.columns.length - 1]?.id === columnId;\n\n if (isLastColumn) {\n const headerElement = this.closest('.ids-data-grid-header');\n const parentElement = headerElement?.parentElement;\n\n if (headerElement && parentElement) {\n const newWidth = w + (!this.dataGrid?.localeAPI.isRTL() ? dx : -dx);\n\n // Only allow resize if the total width won't become smaller than the col general min width\n if (newWidth >= 92) {\n this.dataGrid?.setColumnWidth(columnId, newWidth);\n }\n }\n } else {\n // Not the last column, proceed with normal resize\n this.dataGrid?.setColumnWidth(columnId, w + (!this.dataGrid?.localeAPI.isRTL() ? dx : -dx));\n }\n\n this.dataGrid?.updateSelectionBorder();\n };\n\n // When user releases the mouse, remove the existing event listeners\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n\n this?.style.setProperty('cursor', '');\n requestAnimationFrame(() => {\n this.dataGrid.isResizing = false;\n columnElem?.parentElement?.querySelectorAll(`[${attributes.DRAGGABLE}]`).forEach((el: Element) => el.setAttribute(attributes.DRAGGABLE, 'true'));\n });\n };\n\n // Add a resize Handler\n this.offEvent('mousedown.resize', this);\n this.onEvent('mousedown.resize', this, (e: MouseEvent) => {\n const target = (e.target as any);\n if (!target.classList.contains('resizer')) {\n return;\n }\n\n // Get the current mouse position\n x = e.clientX;\n\n // Calculate the current width of column\n columnElem = target.closest('.ids-data-grid-header-cell') as HTMLElement;\n columnElem.parentElement?.querySelectorAll(`[${attributes.DRAGGABLE}]`).forEach((el) => el.setAttribute(attributes.DRAGGABLE, 'false'));\n\n const colStyles = window.getComputedStyle(columnElem);\n columnId = columnElem.getAttribute('column-id') || '';\n w = parseInt(colStyles.width, 10);\n\n // Attach listeners for document's events\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n\n // Import the cursor behavior\n this?.style.setProperty('cursor', 'col-resize');\n\n // Prevent a click causing a sort\n this.dataGrid.isResizing = true;\n });\n }\n\n /**\n * Establish Reorder handlers for moving columns\n * @private\n */\n #attachReorderHandlers() {\n const dragArrows = this.dataGrid?.wrapper?.querySelector<HTMLElement>('.ids-data-grid-sort-arrows');\n let dragger: HTMLElement;\n let startIndex = 0;\n let dragInitiated = false;\n let dragParent: HTMLElement | null;\n let wasDraggable = false;\n\n this.offEvent('focusin.reorder', this);\n this.onEvent('focusin.reorder', this, (e: FocusEvent) => {\n const target = e.target as HTMLElement;\n if (target?.nodeName === 'IDS-INPUT') {\n const wrapper = target.parentElement;\n dragParent = wrapper?.parentElement as HTMLElement | null;\n wasDraggable = dragParent?.getAttribute(attributes.DRAGGABLE) === 'true';\n if (wasDraggable) {\n dragParent?.setAttribute(attributes.DRAGGABLE, 'false');\n }\n }\n });\n\n this.offEvent('focusout.reorder', this);\n this.onEvent('focusout.reorder', this, (e: FocusEvent) => {\n const target = e.target as HTMLElement;\n if (target?.nodeName === 'IDS-INPUT') {\n if (wasDraggable) {\n dragParent?.setAttribute(attributes.DRAGGABLE, 'true');\n }\n dragParent = null;\n wasDraggable = false;\n }\n });\n\n this.offEvent('mouseover.reorder', this);\n this.onEvent('mouseover.reorder', this, (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n if (target?.closest('.reorderer') && dragParent) {\n if (wasDraggable) {\n dragParent.setAttribute(attributes.DRAGGABLE, 'true');\n }\n dragParent = null;\n wasDraggable = false;\n }\n });\n\n // Style the Dragger\n this.offEvent('dragstart.reorder', this);\n this.onEvent('dragstart.reorder', this, (e: DragEvent) => {\n const target = (e.target as any);\n const nodeName = (e.target as HTMLElement).nodeName;\n if (this.dataGrid.isResizing || !target || nodeName === 'IDS-INPUT') return;\n\n const selection = window.getSelection();\n if (selection && selection.toString().length > 0) {\n if (selection.anchorNode && target.contains(selection.anchorNode)) {\n return;\n }\n selection.removeAllRanges();\n }\n\n // Check for Firefox since getSelection.toString() is not available\n if (target.tagName.includes('TRIGGER-FIELD')) {\n const selectedText = target.input.value.substring(target.input.selectionStart, target.input.selectionEnd);\n if (selectedText.toString().length > 0) {\n return;\n }\n }\n\n dragInitiated = true;\n target.classList.add('active-drag-column');\n dragger = target.cloneNode(true);\n dragger.classList.add('dragging');\n\n if (this.dataGrid?.localeAPI.isRTL()) {\n dragger.style.insetInlineStart = `${this.offsetLeft}px`;\n dragger.style.zIndex = '-5';\n }\n\n this?.appendChild(dragger);\n // Based on width of 110\n e?.dataTransfer?.setDragImage(dragger, this.dataGrid?.localeAPI.isRTL() ? 100 : 10, 18);\n startIndex = target.getAttribute('aria-colindex');\n });\n\n // Show the arrows\n this.offEvent('dragenter.reorder', this);\n this.onEvent('dragenter.reorder', this, (e: DragEvent) => {\n if (!dragInitiated) {\n // Accept Dropped Text\n if ((e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = 'var(--ids-data-grid-filter-input-drop-background-color)';\n }\n return;\n }\n const cell = (e.target as any).closest('.ids-data-grid-header-cell');\n if (!cell) return;\n if (cell.classList.contains('active-drag-column')) {\n dragArrows?.style.setProperty('display', 'none');\n return;\n }\n\n const rect = cell.getBoundingClientRect();\n const curIndex = parseInt(cell.getAttribute('aria-colindex') || '0', 10);\n const startIdx = parseInt(startIndex.toString() ?? '0', 10);\n\n let cellLeft = rect.left + (startIdx < curIndex ? rect.width + 1 : 1);\n const cellRight = rect.left + (startIdx < curIndex ? 1 : rect.width + 1);\n let offsetLeft = 0;\n if (this.offsetParent) {\n offsetLeft = this.offsetParent.getBoundingClientRect().left\n - (this.offsetParent as HTMLElement).offsetLeft;\n }\n cellLeft = cellLeft < 3 ? 0 : cellLeft;\n dragArrows?.style.setProperty('display', '');\n dragArrows?.style.setProperty('inset-inline-start', `${this.dataGrid?.localeAPI.isRTL() ? offsetLeft - cellRight : cellLeft - offsetLeft}px`);\n dragArrows?.style.setProperty('height', `${rect.height - 2}px`);\n dragArrows?.style.setProperty('display', 'block');\n\n e.preventDefault();\n });\n\n // Use a normal cursor (not drag and drop)\n this.offEvent('dragover.reorder', this);\n this.onEvent('dragover.reorder', this, (e: DragEvent) => {\n if (!dragInitiated) return;\n e.dataTransfer!.dropEffect = 'move';\n e.preventDefault();\n });\n\n this.offEvent('dragleave.reorder', this);\n this.onEvent('dragleave.reorder', this, (e: DragEvent) => {\n if (!dragInitiated && (e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = '';\n }\n });\n\n const removeDragger = (e: DragEvent) => {\n this.querySelector('.active-drag-column')?.classList.remove('active-drag-column');\n dragger?.remove();\n dragArrows?.style.setProperty('display', 'none');\n e.preventDefault();\n };\n\n // Set everything temp element back to normal\n this.offEvent('dragend.reorder', this);\n this.onEvent('dragend.reorder', this, (e: DragEvent) => {\n if (dragParent && wasDraggable) {\n dragParent.setAttribute(attributes.DRAGGABLE, 'true');\n dragParent = null;\n wasDraggable = false;\n }\n\n if (!dragInitiated) {\n if ((e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = '';\n }\n return;\n }\n dragInitiated = false;\n removeDragger(e);\n });\n\n this.offEvent('drop.reorder', this);\n this.onEvent('drop.reorder', this, (e: DragEvent) => {\n if (dragParent && wasDraggable) {\n dragParent.setAttribute(attributes.DRAGGABLE, 'true');\n dragParent = null;\n wasDraggable = false;\n }\n\n if (!dragInitiated) {\n if ((e.target as HTMLElement)?.getAttribute('color-variant') === 'alternate-formatter') {\n (e.target as any).style.backgroundColor = '';\n }\n return;\n }\n dragInitiated = false;\n const cell = (e.target as any).closest('.ids-data-grid-header-cell');\n if (!cell) return;\n this.dataGrid?.moveColumn(startIndex - 1, cell.getAttribute('aria-colindex') - 1);\n removeDragger(e);\n });\n }\n\n /**\n * Attaches the event handler for the filter button click event.\n */\n #attachFilterBtnHandler() {\n this.offEvent('click.filterbtn', this);\n this.onEvent('click.filterbtn', this, (evt: CustomEvent) => {\n const menuButton = evt.target;\n if (menuButton instanceof IdsMenuButton && menuButton.nextElementSibling?.nodeName !== 'IDS-POPUP-MENU') {\n const columnId = menuButton.getAttribute('column-id');\n const column = this.dataGrid.columns.find((col) => col.id === columnId);\n const btnId = menuButton.getAttribute('ref-id') ?? '';\n\n if (column?.filterType) {\n const popupTemplate = this.dataGrid.filters.filterButtonPopupTemplate(btnId, column.filterType.name, column);\n const gridWrapper = this.closest('.ids-data-grid-wrapper');\n if (gridWrapper) {\n const menuExists = gridWrapper.querySelector(`[target='#btn-${btnId}']`);\n if (!menuExists) gridWrapper.insertAdjacentHTML('beforeend', popupTemplate);\n }\n\n menuButton.configureMenu();\n menuButton.menuEl?.show();\n }\n }\n });\n }\n\n /**\n * Attach focus handlers to manage keyboard-only focus outlines\n * @private\n */\n #attachFocusHandlers() {\n this.offEvent('focusout', this);\n this.onEvent('focusout', this, (e: FocusEvent) => {\n const relatedTarget = (e.relatedTarget as HTMLElement);\n if (!relatedTarget || relatedTarget?.nodeName === 'IDS-DATA-GRID-CELL') this.#activeColumn = -1;\n });\n\n this.offEvent('mousedown.focusin', this);\n this.onEvent('mousedown.focusin', this, (e: MouseEvent) => {\n const headerCell = (e.target as HTMLElement).closest('.ids-data-grid-header-cell');\n this.#activeColumn = parseFloat(headerCell?.getAttribute('aria-colindex') || '');\n });\n }\n\n /**\n * Set header expander state\n */\n setIsHeaderExpanderCollapsed() {\n const all = this.dataGrid?.rows?.filter((r: any) => r?.hasAttribute('aria-expanded')) || [];\n const collapsedRows = all.filter((r: any) => r?.getAttribute('aria-expanded') === 'false');\n if (all.length && all.length === collapsedRows.length) this.isHeaderExpanderCollapsed = true;\n }\n\n /**\n * Sets the state of the ids-icon.header-expander elements to open/expanded.\n */\n openExpanderIcons() {\n this.isHeaderExpanderCollapsed = false;\n this.expanderIcons?.forEach((iconElement: IdsIcon) => {\n iconElement.icon = `plusminus-folder-open`;\n });\n }\n\n /**\n * Sets the state of the ids-icon.header-expander elements to closed/collapsed.\n */\n closeExpanderIcons() {\n this.isHeaderExpanderCollapsed = true;\n this.expanderIcons?.forEach((iconElement: IdsIcon) => {\n iconElement.icon = `plusminus-folder-closed`;\n });\n }\n\n /**\n * Set the header checkbox state\n * @private\n */\n setHeaderCheckbox() {\n if (!this.dataGrid?.rowSelection || this.dataGrid?.rowSelection === 'single' || !this.headerCheckbox) {\n return;\n }\n\n const selectedCount = this.dataGrid?.selectedRows.length;\n const dataCount = this.dataGrid?.data.length;\n\n if (selectedCount === 0) {\n this.headerCheckbox.classList.remove('indeterminate');\n this.headerCheckbox.classList.remove('checked');\n this.headerCheckbox.setAttribute('aria-checked', 'false');\n return;\n }\n\n if (selectedCount === dataCount) {\n this.headerCheckbox.classList.remove('indeterminate');\n this.headerCheckbox.classList.add('checked');\n this.headerCheckbox.setAttribute('aria-checked', 'true');\n return;\n }\n\n if (selectedCount !== dataCount) {\n this.headerCheckbox.classList.add('indeterminate');\n this.headerCheckbox.setAttribute('aria-checked', 'mixed');\n }\n }\n\n /**\n * Set the checked status on the column header checkbox\n * @param {number} index Column index\n * @param {boolean} value True for checked, false for unchecked\n */\n setColumnCheckbox(index: number, value: boolean) {\n if (this.columnCheckbox && this.columnCheckbox[index]) {\n const checkbox = this.columnCheckbox[index] as HTMLInputElement;\n checkbox.checked = value;\n }\n }\n\n /**\n * Sets the disabled attribute of header checkbox\n * @param {boolean} value attribute value to set\n */\n disableHeaderCheckbox(value: boolean) {\n if (!this.headerCheckbox) {\n return;\n }\n\n this.headerCheckbox.setAttribute('disabled', String(value));\n this.headerCheckbox.parentElement?.setAttribute('disabled', String(value));\n }\n\n /**\n * Sets the disabled attribute of header checkbox\n * @param {boolean} value attribute value to set\n */\n hideHeaderCheckbox(value: boolean) {\n if (!this.headerCheckbox) {\n return;\n }\n\n if (value) {\n this.headerCheckbox.setAttribute('hidden', String(value));\n } else {\n this.headerCheckbox.removeAttribute('hidden');\n }\n }\n\n /**\n * Set the sort column and sort direction on the UI only\n * @param {string} id The column id (or field) to set\n * @param {boolean} ascending Sort ascending (lowest first) or descending (lowest last)\n */\n setSortState(id: string, ascending: boolean) {\n const sortedHeaders = [...this!.querySelectorAll('.is-sortable')]\n .map((sorted) => sorted.closest('.ids-data-grid-header-cell'));\n sortedHeaders.forEach((header) => header?.removeAttribute('aria-sort'));\n\n const header = this.querySelector(`[column-id=\"${id}\"]`);\n if (header && sortedHeaders.includes(header)) {\n header.setAttribute('aria-sort', ascending ? 'ascending' : 'descending');\n }\n }\n\n /**\n * Resets sort header sort states\n */\n resetSortStates() {\n this.querySelectorAll('.ids-data-grid-header-cell').forEach((elem) => elem.removeAttribute('aria-sort'));\n }\n\n /**\n * Set filter row to be shown or hidden\n * @private\n * @returns {object} This API object for chaining\n */\n setFilterRow() {\n const nodes = this?.querySelectorAll('.ids-data-grid-header-cell-filter-wrapper');\n nodes?.forEach((n) => n?.classList?.[this.dataGrid?.filterable ? 'remove' : 'add']('hidden'));\n this.dataGrid?.triggerEvent(this.dataGrid?.filterable ? 'filterrowopened' : 'filterrowclosed', this.dataGrid, {\n detail: { elem: this, filterable: this.dataGrid?.filterable }\n });\n return this;\n }\n\n /**\n * Return the Template for the header contents\n * @param {IdsDataGrid} datagrid visible columns in the data grid\n * @returns {string} The template\n */\n static template(datagrid: IdsDataGrid): string {\n const html = `<ids-data-grid-header class=\"ids-data-grid-header${datagrid.hasFrozenColumns ? ' is-frozen' : ''}\" role=\"rowgroup\" part=\"header\">\n <ids-data-grid-row class=\"ids-data-grid-row${datagrid.colSelection ? ' has-col-selection' : ''}\" role=\"row\">\n ${datagrid.visibleColumns.map((columnData: any, index: number) => `${this.headerCellTemplate(datagrid, columnData, index)}`).join('')}\n </ids-data-grid-row>\n </ids-data-grid-header>`;\n return this.columnGroupsTemplate(datagrid) + html;\n }\n\n /**\n * Returns the markup for a header cell.\n * @param {IdsDataGrid} dataGrid visible columns in the data grid\n * @param {IdsDataGridColumn} column The column info\n * @param {number} index The column index\n * @returns {string} The resuling header cell template\n */\n static headerCellTemplate(dataGrid: IdsDataGrid, column: IdsDataGridColumn, index: number) {\n const selectionCheckBoxTemplate = `\n <span class=\"ids-data-grid-checkbox-container\" disabled=\"${dataGrid.disableHeaderCheckbox}\">\n <span\n role=\"checkbox\"\n ${dataGrid.hideHeaderCheckbox ? 'hidden' : ''}\n disabled=\"${dataGrid.disableHeaderCheckbox}\"\n aria-checked=\"false\"\n aria-label=\"${column.name}\"\n class=\"ids-data-grid-checkbox\"\n >\n </span>\n </span>\n `;\n\n const sortIconSize = dataGrid.rowHeight === 'xxs' ? 'size=\"small\"' : '';\n const sortIndicatorTemplate = `\n <span class=\"sort-indicator\">\n <ids-icon icon=\"dropdown\" ${sortIconSize}></ids-icon>\n <ids-icon icon=\"dropdown\" ${sortIconSize}></ids-icon>\n </span>\n `;\n\n const expanderTemplate = `<ids-icon class=\"header-expander\" icon=\"plusminus-folder-closed\"></ids-icon>`;\n const resizerTemplate = `<span class=\"resizer\"></span>`;\n const reorderTemplate = `<div class=\"reorderer\"><ids-icon icon=\"drag\" size=\"medium\"></ids-icon></div>`;\n const showFormatterExpander = ['expander', 'tree'].includes(column.formatter?.name ?? '');\n const showHeaderExpander = column?.showHeaderExpander || showFormatterExpander;\n const expander = showHeaderExpander ? expanderTemplate : '';\n\n const selectionCheckbox = column.id !== 'selectionRadio' && column.id === 'selectionCheckbox';\n let colName = '';\n if (Array.isArray(column.name)) {\n colName = `\n ${escapeHTML(column.name[0].text)}\n <br>\n ${column.name[1].emphasis === 'subtle' ? '<small>' : ''}\n ${escapeHTML(column.name[1].text)}\n ${column.name[1].emphasis === 'subtle' ? '</small>' : ''}\n `;\n } else { colName = escapeHTML(column.name); }\n\n const headerName = column.id !== 'selectionRadio' && column.id !== 'selectionCheckbox' && colName ? colName : '';\n const headerLabel = `${dataGrid?.colSelection && column.id !== 'selectionRadio' && column.id !== 'selectionCheckbox'\n ? `<div class=\"ids-checkbox\">\n <label>\n <input type=\"checkbox\"/>\n <span class=\"checkmark\"></span>\n <span class=\"ids-text label-text header-text-content\">${headerName}</span>\n </label>\n </div>` : `<span class=\"header-text-content\">${headerName}</span>`}`;\n\n const headerContentTemplate = `\n ${selectionCheckbox ? selectionCheckBoxTemplate : ''}\n ${headerLabel}\n `.trim();\n\n let cssClasses = 'ids-data-grid-header-cell-content';\n cssClasses += column.sortable ? ' is-sortable' : '';\n cssClasses += selectionCheckbox ? ' has-selectioncheckbox vertical-align-center' : '';\n cssClasses += column.headerIcon ? ' has-headericon' : '';\n cssClasses += column.reorderable ? ' is-reorderable' : '';\n cssClasses += column?.showHeaderExpander ? ' column-header-expander' : '';\n\n // Content row cell template\n const headerContentWrapperTemplate = `<span class=\"${cssClasses}\">\n ${expander}\n ${column.sortable && (column.headerAlign === 'right' || (!column.headerAlign && column.align === 'right')) ? sortIndicatorTemplate : ''}\n <span class=\"ids-data-grid-header-text\">\n ${headerContentTemplate}\n </span>\n ${this.headerIconTemplate(column)}\n ${column.sortable && (column.headerAlign !== 'right' && (!column.headerAlign ? column.align !== 'right' : true)) ? sortIndicatorTemplate : ''}\n </span>${column.resizable ? resizerTemplate : ''}${column.reorderable ? reorderTemplate : ''}`;\n\n // Filter row cell template\n const headerFilterWrapperTemplate = dataGrid?.filters?.filterTemplate(column) || '';\n let align = column.align ? ` align-${column.align}` : '';\n if (column.headerAlign) {\n align = ` align-${column.headerAlign}`;\n }\n\n // Frozen Classes\n const lastFrozen = dataGrid?.leftFrozenColumns.length;\n let frozen = column?.frozen ? ` frozen frozen-${column?.frozen}${index + 1 === lastFrozen ? ' frozen-last' : ''}` : '';\n\n // Check for far left frozen cells just in case\n const lastFrozenData = dataGrid.visibleColumns.filter((obj) => obj.frozen === 'left').at(-1);\n const lastFrozenIndex = dataGrid.visibleColumns.findIndex((obj) => obj.id === lastFrozenData?.id);\n if (frozen === '' && index < lastFrozenIndex) {\n frozen = ` frozen frozen-${lastFrozenData?.frozen}`;\n column.frozen = lastFrozenData?.frozen;\n }\n\n if (index === lastFrozenIndex && frozen !== '' && frozen.indexOf('last') < 0) frozen += ` frozen-last`;\n\n const isUppercase = (): boolean => {\n if (typeof column?.uppercase === 'function') return column.uppercase('header-cell', column, index);\n return (column?.uppercase === 'true' || column?.uppercase === true);\n };\n\n let headerCssClasses = isUppercase() ? ' is-uppercase' : '';\n headerCssClasses += (column?.showHeaderExpander || column.sortable || column.reorderable) ? ' is-actionable' : '';\n headerCssClasses += column.required ? ' is-required' : '';\n\n // Header cell template\n const html = `\n <span\n class=\"ids-data-grid-header-cell${headerCssClasses}${align}${frozen}\"\n ${column.reorderable ? 'draggable=\"true\"' : ''}\n part=\"header-cell\"\n aria-colindex=\"${index + 1}\"\n column-id=\"${column.id}\"\n role=\"columnheader\">\n ${headerContentWrapperTemplate}\n ${headerFilterWrapperTemplate}\n </span>\n `;\n\n return html;\n }\n\n /**\n * Returns the markup for a header icon.\n * @param {IdsDataGridColumn | IdsDataGridColumnGroup} column The column info\n * @returns {string} The resuling header icon template\n */\n static headerIconTemplate(column: IdsDataGridColumn | IdsDataGridColumnGroup): string {\n const headerIcon = typeof column?.headerIcon === 'string' ? column.headerIcon : '';\n if (headerIcon === '') return '';\n\n const headerIconTooltip = column.headerIconTooltip || headerIcon;\n return `\n <span class=\"ids-data-grid-header-icon\" data-headericontooltip=\"${headerIconTooltip}\">\n <ids-icon icon=\"${headerIcon}\" size=\"medium\"></ids-icon>\n </span>`;\n }\n\n /**\n * Returns the markup for the grouped header cells.\n * @param {IdsDataGrid} dataGrid The datagrid reference\n * @returns {string} The resuling header cell template\n */\n static columnGroupsTemplate(dataGrid: IdsDataGrid) : string {\n if (!dataGrid?.columnGroups) {\n return '';\n }\n let columnGroupHtml = `<ids-data-grid-header class=\"ids-data-grid-header column-groups\" part=\"header\" role=\"rowgroup\">\n <div role=\"row\" class=\"ids-data-grid-row ids-data-grid-column-groups\">`;\n\n dataGrid?.columnGroups.forEach((columnGroup: IdsDataGridColumnGroup) => {\n const align = columnGroup.align ? ` align-${columnGroup.align}` : '';\n\n // Header cell template\n let cssClasses = 'ids-data-grid-header-cell-content';\n cssClasses += columnGroup.headerIcon ? ' has-headericon' : '';\n\n const html = `<span class=\"ids-data-grid-header-cell${align}\" part=\"header-cell\" column-group-id=\"${columnGroup.id || 'id'}\" role=\"columnheader\">\n <span class=\"${cssClasses}\">\n <span class=\"ids-data-grid-header-text\">\n ${columnGroup.name || ''}\n </span>\n ${this.headerIconTemplate(columnGroup)}\n </span>\n </span>`;\n columnGroupHtml += html;\n });\n\n columnGroupHtml += '</div></ids-data-grid-header>';\n\n return columnGroupHtml;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["header"]
|
|
7
|
+
}
|
|
@@ -1,18 +1,102 @@
|
|
|
1
|
-
/* Ids Accordion Section Component */
|
|
2
1
|
:root {
|
|
3
2
|
display: block;
|
|
4
3
|
}
|
|
5
4
|
|
|
6
|
-
:host([
|
|
7
|
-
|
|
5
|
+
:host([force-collapse]) .ids-accordion-pane {
|
|
6
|
+
height: 0 !important;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
overflow-x: hidden;
|
|
9
|
+
::slotted([slot=content]) {
|
|
10
|
+
position: relative;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
|
-
.ids-accordion-
|
|
16
|
-
|
|
13
|
+
.ids-accordion-panel:not([class*=color-variant-]) .ids-accordion-pane-content {
|
|
14
|
+
padding-block: var(--ids-accordion-pane-content-padding-block);
|
|
15
|
+
padding-inline-start: var(--ids-accordion-pane-content-padding-inline);
|
|
16
|
+
}
|
|
17
|
+
.ids-accordion-panel:not([class*=color-variant-]).nested .ids-accordion-pane-content {
|
|
18
|
+
padding-inline-start: 22px;
|
|
19
|
+
}
|
|
20
|
+
.ids-accordion-panel:not([class*=color-variant-]).has-icon .ids-accordion-pane-content {
|
|
21
|
+
padding-inline-start: var(--ids-accordion-pane-content-padding-icon);
|
|
22
|
+
}
|
|
23
|
+
.ids-accordion-panel.color-variant-app-menu {
|
|
24
|
+
margin-bottom: 4px;
|
|
25
|
+
background-color: var(--ids-app-menu-accordion-panel-color-background);
|
|
26
|
+
transition: background-color var(--ids-motion-duration) var(--ids-motion-linear), height var(--ids-motion-duration) var(--ids-motion-linear), padding var(--ids-motion-duration) var(--ids-motion-linear);
|
|
27
|
+
}
|
|
28
|
+
.ids-accordion-panel.color-variant-app-menu.expanded {
|
|
29
|
+
padding-block-start: 8px;
|
|
30
|
+
}
|
|
31
|
+
.ids-accordion-panel.color-variant-app-menu .ids-accordion-pane-content {
|
|
32
|
+
padding-inline-start: 8px;
|
|
33
|
+
}
|
|
34
|
+
.ids-accordion-panel.color-variant-app-menu:not(.rtl).nested .ids-accordion-pane-content {
|
|
35
|
+
padding-inline-start: 16px;
|
|
36
|
+
padding-inline-end: 0;
|
|
37
|
+
}
|
|
38
|
+
.ids-accordion-panel.color-variant-app-menu ::slotted(ids-accordion-panel) {
|
|
39
|
+
padding-inline-start: 24px;
|
|
40
|
+
padding-inline-end: 16px;
|
|
41
|
+
}
|
|
42
|
+
.ids-accordion-panel.color-variant-app-menu .ids-accordion-panel {
|
|
43
|
+
padding-inline-start: 24px;
|
|
44
|
+
}
|
|
45
|
+
.ids-accordion-panel.color-variant-sub-app-menu {
|
|
46
|
+
margin: 0;
|
|
47
|
+
}
|
|
48
|
+
.ids-accordion-panel.color-variant-sub-app-menu:not(.rtl) .ids-accordion-pane-content {
|
|
49
|
+
padding-inline-start: 28px;
|
|
50
|
+
}
|
|
51
|
+
.ids-accordion-panel.color-variant-module-nav .ids-accordion-pane-content {
|
|
52
|
+
padding-inline-start: 8px;
|
|
53
|
+
}
|
|
54
|
+
.ids-accordion-panel.color-variant-module-nav:not(.rtl).nested .ids-accordion-pane-content {
|
|
55
|
+
padding-inline-start: 16px;
|
|
56
|
+
padding-inline-end: 0;
|
|
57
|
+
}
|
|
58
|
+
.ids-accordion-panel.color-variant-module-nav .ids-accordion-pane-content {
|
|
59
|
+
padding-inline-start: 0;
|
|
60
|
+
}
|
|
61
|
+
.ids-accordion-panel.color-variant-module-nav.nested .ids-accordion-pane-content {
|
|
62
|
+
padding-inline-start: 16px;
|
|
63
|
+
padding-inline-end: 0;
|
|
64
|
+
}
|
|
65
|
+
.ids-accordion-panel.color-variant-sub-module-nav .ids-accordion-pane-content {
|
|
66
|
+
padding-inline-start: 0;
|
|
67
|
+
}
|
|
68
|
+
.ids-accordion-panel.color-variant-sub-module-nav.nested .ids-accordion-pane-content {
|
|
69
|
+
padding-inline-start: 0;
|
|
70
|
+
padding-inline-end: 0;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ids-accordion-pane {
|
|
74
|
+
box-sizing: border-box;
|
|
75
|
+
display: none;
|
|
76
|
+
height: 0;
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
transition: height var(--ids-motion-duration) var(--ids-motion-linear);
|
|
79
|
+
}
|
|
80
|
+
.ids-accordion-pane.expanded {
|
|
81
|
+
overflow: initial;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.ids-accordion-panex {
|
|
85
|
+
-ms-overflow-style: none;
|
|
86
|
+
scrollbar-width: none;
|
|
87
|
+
}
|
|
88
|
+
.ids-accordion-panex::-webkit-scrollbar {
|
|
89
|
+
display: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.ids-accordion-pane-title {
|
|
93
|
+
clip: rect(0, 0, 0, 0);
|
|
94
|
+
height: 0;
|
|
95
|
+
line-height: 0;
|
|
96
|
+
min-height: 0;
|
|
97
|
+
overflow: hidden;
|
|
98
|
+
padding: 0;
|
|
99
|
+
position: absolute;
|
|
100
|
+
width: 1px;
|
|
17
101
|
}
|
|
18
|
-
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
102
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtYWNjb3JkaW9uIiwic291cmNlcyI6WyJpZHMtYWNjb3JkaW9uLXBhbmVsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0hBO0VBQ0U7OztBQUlBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQXhDQTtFQUNFO0VBQ0E7O0FBSUE7RUFDRTs7QUFLRjtFQUNFOztBQXFDSjtFQWpJQTtFQUNBO0VBQ0EsWUFDRTs7QUFJRjtFQUNFOztBQTRDRjtFQUNFOztBQUtFO0VBQ0U7RUFDQTs7QUFzQ047RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBK0JGO0VBdkhBOztBQXFERTtFQUNFOztBQWxCSjtFQUNFOztBQUtFO0VBQ0U7RUFDQTs7QUFyQ047RUFDRTs7QUFJQTtFQUNFO0VBQ0E7O0FBTUo7RUFDRTs7QUFJQTtFQUNFO0VBQ0E7OztBQTJHTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBS0o7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyAqO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVG9wLWxldmVsIEFwcCBNZW51IEFjY29yZGlvbiBQYW5lbCBTdHlsZXNcblxuQG1peGluIGFjY29yZGlvbi1wYW5lbC1hcHAtbWVudS1jb2xvcnMoKSB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWFwcC1tZW51LWFjY29yZGlvbi1wYW5lbC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tbGluZWFyKSxcbiAgICBoZWlnaHQgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1saW5lYXIpLFxuICAgIHBhZGRpbmcgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1saW5lYXIpO1xuXG4gICYuZXhwYW5kZWQge1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDhweDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3ViLWxldmVsIEFwcCBNZW51IEFjY29yZGlvbiBQYW5lbCBTdHlsZXNcblxuQG1peGluIGFjY29yZGlvbi1wYW5lbC1zdWItbWVudS1jb2xvcnMoKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSBOYXYgQXBwIE1lbnUgQWNjb3JkaW9uIFBhbmVsIFN0eWxlc1xuXG5AbWl4aW4gYWNjb3JkaW9uLXBhbmVsLW1vZHVsZS1uYXYtcnVsZXMoKSB7XG4gIC5pZHMtYWNjb3JkaW9uLXBhbmUtY29udGVudCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICAmLm5lc3RlZCB7XG4gICAgLmlkcy1hY2NvcmRpb24tcGFuZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxNnB4O1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYWNjb3JkaW9uLXBhbmVsLXN1Yi1tb2R1bGUtbmF2LXJ1bGVzKCkge1xuICAuaWRzLWFjY29yZGlvbi1wYW5lLWNvbnRlbnQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICB9XG5cbiAgJi5uZXN0ZWQge1xuICAgIC5pZHMtYWNjb3JkaW9uLXBhbmUtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbnRyb2xzIHRoZSBzaXplIG9mIG5lc3RlZCBhY2NvcmRpb25zXG5cbkBtaXhpbiBhY2NvcmRpb24tcGFuZS1zdGFuZGFyZC1zaXplKCkge1xuICAuaWRzLWFjY29yZGlvbi1wYW5lLWNvbnRlbnQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiA4cHg7XG4gIH1cblxuICAmOm5vdCgucnRsKSB7XG4gICAgJi5uZXN0ZWQge1xuICAgICAgLmlkcy1hY2NvcmRpb24tcGFuZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFjY29yZGlvbi1wYW5lLW5lc3RlZC1zaXplKCkge1xuICAvLyBMVFIgbmVzdGVkIHN0eWxlcyAoZGVmYXVsdClcbiAgJjpub3QoLnJ0bCkge1xuICAgIC5pZHMtYWNjb3JkaW9uLXBhbmUtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMjhweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbnRyb2xzIHRoZSBzaXplIG9mIGluLXBhZ2UgYWNjb3JkaW9uIGNvbnRlbnQgYXJlYVxuXG5AbWl4aW4gYWNjb3JkaW9uLXBhbmUtaW4tcGFnZS1zdGFuZGFyZC1zaXplKCkge1xuICAuaWRzLWFjY29yZGlvbi1wYW5lLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1hY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmctYmxvY2spO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cblxuICAmLm5lc3RlZCB7XG4gICAgLmlkcy1hY2NvcmRpb24tcGFuZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyMnB4O1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLWljb24ge1xuICAgIC5pZHMtYWNjb3JkaW9uLXBhbmUtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLWFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZy1pY29uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG5lc3RlZC1hY2NvcmRpb24tcGFuZWwtaW5kZW50YXRpb24oKSB7XG4gIDo6c2xvdHRlZChpZHMtYWNjb3JkaW9uLXBhbmVsKSB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDI0cHg7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAxNnB4O1xuICB9XG5cbiAgLmlkcy1hY2NvcmRpb24tcGFuZWwge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyNHB4O1xuICB9XG59XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KFtmb3JjZS1jb2xsYXBzZV0pIHtcbiAgLmlkcy1hY2NvcmRpb24tcGFuZSB7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuOjpzbG90dGVkKFtzbG90PSdjb250ZW50J10pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaWRzLWFjY29yZGlvbi1wYW5lbCB7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbG9yIFZhcmlhbnQgUnVsZXNcbiAgJjpub3QoW2NsYXNzKj1cImNvbG9yLXZhcmlhbnQtXCJdKSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXBhbmUtaW4tcGFnZS1zdGFuZGFyZC1zaXplKCk7XG4gIH1cblxuICAmLmNvbG9yLXZhcmlhbnQtYXBwLW1lbnUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1wYW5lbC1hcHAtbWVudS1jb2xvcnMoKTtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tcGFuZS1zdGFuZGFyZC1zaXplKCk7XG4gICAgQGluY2x1ZGUgbmVzdGVkLWFjY29yZGlvbi1wYW5lbC1pbmRlbnRhdGlvbigpO1xuICB9XG5cbiAgJi5jb2xvci12YXJpYW50LXN1Yi1hcHAtbWVudSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXBhbmVsLXN1Yi1tZW51LWNvbG9ycygpO1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1wYW5lLW5lc3RlZC1zaXplKCk7XG4gIH1cblxuICAmLmNvbG9yLXZhcmlhbnQtbW9kdWxlLW5hdiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXBhbmUtc3RhbmRhcmQtc2l6ZSgpO1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1wYW5lbC1tb2R1bGUtbmF2LXJ1bGVzKCk7XG4gIH1cblxuICAmLmNvbG9yLXZhcmlhbnQtc3ViLW1vZHVsZS1uYXYge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1wYW5lbC1zdWItbW9kdWxlLW5hdi1ydWxlcygpO1xuICB9XG59XG5cbi5pZHMtYWNjb3JkaW9uLXBhbmUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWxpbmVhcik7XG5cbiAgJi5leHBhbmRlZCB7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gIH1cbn1cblxuLy8gU28gdGhlIGFjY29yZGlvbiBkb2VzbnQgaGF2ZSBhIHNjcm9sbGJhciBnbGl0Y2ggd2hlbiBvcGVuZWRcbi5pZHMtYWNjb3JkaW9uLXBhbmV4IHtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmlkcy1hY2NvcmRpb24tcGFuZS10aXRsZSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbiJdfQ== */
|